Regarding the choice of eigenvariate or average, Friston et al's (2006) "critique of functional localisers" explains a little: "The principal eigenvariate is, like the average, simply a summary of the responses within an fROI. Unlike the average, it does not assume homogenous responses within the fROI."
I find it illustrative to consider two extreme cases: if all voxels in a region behave almost identically, then the eigenvariate will just be proportional to the mean; if half of the voxels are perfectly anti-correlated with the other half, then the mean will be near zero, but the eigenvariate will capture the dimension along which the voxels vary.
Here are a few lines of MATLAB code to illustrate the second case, just change the -1 to 1 in the kron call on the fourth line to check the first case.
% start with a single underlying signal
s = 100 * randn(100, 1);
% generate 20 noisy voxels, one half in anti-phase with the other
data = kron([1 -1], repmat(s, 1, 10)) + randn(100, 20);
% correlation of mean with signal
corr(mean(data, 2), s) % near zero
% correlation of principal eigenvariate with signal
[V D] = svd(data);
corr(V(:, 1), s) % near one (or -1)
Of course, in reality, the inhomogeneity over voxels is more complicated, and the SNR probably lower, so the advantages of the eigenvariate might not be so clear cut, but on the other hand, it seems to have no major disadvantages.
A potential advantage of percent signal change might be easier interpretability, but only if you get the scaling etc. correct (e.g. with Marsbar; I'm not familiar with REX), as discussed here:
Another vote for MarsBar - excellent toolbox. I assume because you're talking about Eigenvectors then you're intending to extract time-courses from these ROIs, not just condition-related response amplitudes. If the latter, than % signal change is probably fine... if the former then the eigen values might be helpful.