How can I know which estimator provides the best estimate? (e.g., the GMM is more efficient if errors are not normally distributed, but there are many other things to consider besides this...
You have almost answered your own question. You need to decide what you consider a "best" estimator when weighing different desirable properties of estimators. If one estimator has some desirable properties, and the other has different desirable properties, then you are going to have to consider which of these properties is more important, and thus what constitutes a "best" estimator here. For example, is it important that the estimator perform well if the errors are not normally distributed, or is it more important that the estimator be highly efficient in the normal case?
In terms of what to look at, you should be looking at the statistical properties of the estimators under various conditions. The standard ML estimator for a Gaussian linear regression is the ordinary least-squares (OLS) estimator, and this has some well-known desirable properties. The generalised method-of-moments (GMM) estimator also has some well-known desirable properties. Broadly speaking, the OLS estimator is more efficient for a correctly specified linear regression model, but a GMM estimator has some better properties for an incorrecty specified model. That is unsurprising, since the GMM is a non-parametric method.
Now, if you really want to go wild with this, you could perform a simulation study where you compared the performance of both estimators on various kinds of models where the true parameters are known (i.e., where simulation data is generated from a model with parameters you specify). If you were to test the estimators on a range of models then you would get a better sense of when one type of estimator is out-performing the other. This would still ultimately leave you in a position of having to weigh superior performance across different types of models, but it would give a a good sense of how the estimators perform on correctly and incorrectly specified models of the type you are concerned with.