Of course, one could always say get lessons early and get lessons often and that will always be the best case. Definitely this could be done, if you could afford it. But in addition, at some point, you'd still have to get battle tested in competitive play.
But, it sounds like your post is more geared towards minimizing your expenditure of funds, and still develop your game. In other words, you're not afraid to spend some money on yourself for lessons, but you want to do it at a point where you can get the most gain for your buck.
If that's correct, then I'd say that the best place to start is to get involved in leagues. Since originally, you may be at the lower or moderate level of play, then I'd recommend getting involved in leagues that encourage strong and lower level players to be on the same team. This will give you the benefit of learning from teammates, but more importantly teammates who are stronger players and have good knowledge (maybe not perfect) of what they're talking about.
Some leagues encourage all the stronger players to bunch up on teams together and the lesser players to bunch up as well. You can learn from these by watching those other stronger teams, but typically more difficult to do. If you want to learn by watching stronger players, than you can easily just watch the pros on TV. These types of leagues don't encourage a stronger player to teach others, like in leagues where the stronger players have a vested interest in the success of moderate or lower players.
Inside any or all of these leagues, you will likely get some level of gain - either from watching, or simply from playing on a regular interval.
The other advantage of the league play is that since you're talking about bang for your buck, you'll actually have a chance to make some money depending on the success of your team. This factor, along with increased ability to get comparable competition is a big advantage to league play vs just playing in a bar on your own, which both may cost essentially the same, except you can win some return on your investment in league play. If you get on the leagues where the stronger players are bunched together, then obviously they're gonna get the lion's share of the money, so you'll basically be donating to them. If you get on a league where the stronger, moderate, and lower level players are mixed together, then you have an opportunity to win the lion's share of the money no matter what level you are. And you have the ability to get battle tested in the higher level tournament play as you progress.
With a moderate committment to the game, in this environment, you should easily be able to advance at least to a moderate level.
At this point, you could very easily consider taking a lesson, which would assist you in getting above mediocrity and heading on your path to higher level play. Then, as you progress towards higher level play, you can take lessons as often as you feel, and be rewarded for it. At this level, can even use some successes in tournaments to fund your lesson program. This becomes an ultimate win/win situation.
My $.02 worth, turned into at least a dime...
