This medium post may be helpful: https://medium.com/nanonets/topic-modeling-with-lsa-psla-lda-and-lda2vec-555ff65b0b05
R has several packages on topic models including textmineR, topicmodels, and stm. LDA is the common algorithm. The structural topic model (stm) estimates topic models with document-level covariates with the usage of metadata.
It depends somewhat on how you define 'best', but the 'stm' package in R has good useability and nice documentation (https://cran.r-project.org/web/packages/stm/vignettes/stmVignette.pdf) as well as lots of nice commands for easily assessing different fit statistics to determine the number of topics as well as ways to interpret and graphically represent the topic outputs. Also note that, without document-level covariates as noted by Subasish in his answer, the 'stm' command yields a correlated topic model, which also has generally more attractive properties than the simpler LDA model (see Article A correlated topic model of Science
In my experience LDA, NMF all work fine. There are evidences that if you aggregate/pool short texts in a certain way then you will find interesting topics.
Yes, PCA, LDA et., are basics and need to be considered for clue to data science, however., for comprehensive understanding to Pattern Analysis, I suggest you to follow the attached book written by Bishop deeply.