What is, in your opinion, the best way to learn how solve word problems?
This is a difficult question to answer due to the scope of what is covered, but I think I can give some pointers.
Mathematics is all about three main things: representation, transformation and constraint. Representation looks at the structure of information (is it a function? Do we have real, complex, or whole numbers only? How many independent variables exist? Are they random variables or normal variables?). Transformations looks at taking some expression and changing it into something else or an approximation to the original expression. This is done to get it in a form that gets us closer to solving the problem. Constraints are basically limits on the structure as well as any additional assumptions we are imposing for whatever reason.
In word problems, the key is to take the word problem definition and convert it into initial constraints which correspond to assumptions and any information you are given along with the representation that is also defined by the word problem.
Some examples of representation include derivatives, integrals, functions, real variables, complex variables, whole numbers, and so on.
The constraints are often written in terms of equalities and inequalities but they may talk about sets as well. Examples could include x < 3, x + y = 2, z = x^2 + y^2 or A is a subset of B for sets A and B.
You have to take a word problem, convert it to representation and constraints and once you have that you take what you have and use the mathematical tools to get to the solution. It may take multiple steps to get there, but each new step should make the problem easier to solve than it was before.
Although you end up getting information in symbolic form (like x + y = 2, x^2 + 2y < 3 or dy/dx = x^2 and so on), you typically may have to use drawings and diagrams before you can convert it to symbols. This is especially true if you have not encountered the kind of problem in the past and need to use geometric intuition to get the symbolic form.
On top of this, you will also need to specify what kind of problem it is in terms of its area. Is it statistics? Applied mathematics? Pure Mathematics? These will help you select the appropriate constraints for your problem.
You also use what are called models typically when solving word problems. Models have been developed by people in the past to deal with common kinds of problems. Being able to take a word problem and match it to a corresponding model that's good enough is a method used in solving many word problems.
I think what would help you solve problems is to look at the various kinds of models in mathematics, see what assumptions (constraints) and representation is in the model and then look at the corresponding word problems that are matched to that model. Once you start to get the intuition behind simple models, you can move to more complex models and later you should be able to make your own models or change other models to match other word problems including new ones that you come across yourself.
This is what they do in a mathematics degree: you get the intuition for simple models and then they become more complex.
There are some books that do outlines like the Schaums series (google it) that have worked problems and solutions but I'd suggest that you attempt problems without the answers first because that is what will give the understanding and the connections (and it can be painful at times).
Your question is broad, but hopefully there is some stuff in this response that is useful.