There are several packages that implement functions for a Gene Set (Enrichment) Analysis, some of them are limma, gsar, gsva, piano, fgsea, pgsea. However I couldn't find an agreement for those tests which accept any statistic as input: fgsea, runGSA, geneSetTest.
Using plotting functions, like plotEnrichment and barcodeplot, I found that the results can change based on which statistics I use. If I use limma's topTable result as input I have the logFC, t, B P.value, adj.P.value and AveExpr statistics. Are there any recommendations or articles to read about which one is better?
Of course doing the analysis with P.value and adj.P.value will result on similar results but there are noticeable differences when I use logFC or t values.
It is better to use packages for gene set testing rather than constructing the test yourself (e.g., by using FC or t-statistic with geneSetTest). This is because the "real" gene set tests take into account other properties and considerations that affect the result such as how the gene set p-value is calculated (sample permutation or rotation is generally best or most conservative approach). Tests that implement all of the details properly include camera, romer, roast (mroast) and fry in the limma package. The geneSetTest function should not be used unless you have to (because of a lack of biological replicates or generally replicated data). The GSA package is also OK (uses sample permutation). With other packages functions that use sample permutation should be used.
But to answer your question I would say that a moderated t-statistic from limma, edgeR or DESeq2 would be the best option. It takes into account the magnitude of the change and the uncertainty (variance). The order should be similar to a p-value, but adjustment might result in a different order (some p-values become 1). Also p-values may be one-sided (by default) whereas t-statistics can be one-sided or two-sided (if so desired). This is also what most of the packages mentioned above use.