I decided to use GSEA because it's one of the best tools and easy to use. There's also a lot of documentation on GSEA.
Since there was no GSEA for R, I first opted for an R package called GSEA_R. However, the Rstudio server crashes every time I run the gsea function.
fgsea is another option I tried. However, the results are not formatted to work with Cytoscape, so it produced an error. Some extra columns have to be added in order for Cytoscape to properly parse it.
Finally decided to use the desktop GSEA tool in the end since it's straight-forward, and there's less space for error.