We designed and use roast and barcodeplot (part of the limma package) for this specific purpose.
Here are some examples of use. Each of these papers includes at least one barcodeplot and accompanying roast test for a custom gene set:
http://www.ncbi.nlm.nih.gov/pubmed/25973911 (figures 2 and 4)
http://www.ncbi.nlm.nih.gov/pubmed/24939936 (figure 5)
http://www.ncbi.nlm.nih.gov/pubmed/25605372 (figure 6)
http://www.ncbi.nlm.nih.gov/pubmed/25655195 (figure 2)
the term "gene set" enrichment" is very general and it varies depending on the specific experimental design and the goals of your study, and also of the "kind" of the test you want to perform(i.e. hypergeometric, topology based, self-contained null linear models by mroast/roast etc.).
You can check the following review (http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002375) and also the course material from bioconductor (http://bioconductor.org/help/course-materials/2013/EMBOBGI/GeneSetEnrichment.pdf), which adress in details the specific modules. Just to pinpoint, from personal experience and from literature, the Molecular Signatures Database from the Broad Institute has excellent and curated gene sets regarding various field(TFs, cancer etc)(http://www.broadinstitute.org/gsea/msigdb/collections.jsp#C6), as also the web-tool Enrichr (http://amp.pharm.mssm.edu/Enrichr/).