Or are you better off waiting until it actually does happen before
investing in this card?
No, you're not better off. If you're going to invest in Cities, waiting for a pile to empty first is too slow.
If you can load up on Cities and run two piles out, you'll dominate. I generally do go for cities. The most important rule for cities is: if you're not the only one buying cities, don't buy the last one. In a 4-player game, I wouldn't buy either of the last two. Don't empty any piles unless you're confident of your lead and of ending the game soon. When a player empties the city pile, it greatly helps the next player with cities, and you don't want to give anyone else head start. Conversely, if you can manage to gain the last card in a pil on your turn which some actions left (perhaps with a Remodel-variant, though there are plenty of other options too), you get the head start if you can follow it up with a deck's worth of cities.
Whether or not to buy
Since they start as villages, Cities work really well with +cards. If there's no other good card draw, you can probably safely skip them. If there is good card draw, you definitely need to consider them. They'll be most valuable in a game where you think there will be a fair amount of time between a pile emptying and the end of the game, e.g. often when Platinum/Colony are in play. As others have pointed out, if there's another card in the set that's very popular in your play group, then you can expect it to sell out quickly, in which case Cities will activate quickly. An activated City is an excellent card for its cost, so you may want to largely ignore the other popular card and just focus on Cities.
Aside from the obvious curse/discard attacks to slow down a City strategy, use the piles. The City-player wants to kill 2 piles, and then have a few ridiculous turns before the game ends. A conter-city player wants to wear down piles evenly, so that as soon as one is killed, 2 others can be quickly killed depriving the City player of the chance to go off. This often isn't very hard. Pick a couple decent, non-terminal, cheap cards, which you should be able to buy more frequently than a City player can buy cities. Work in some points (a Duchy here and there goes a long way, or a Province if you get 8), so that when the game ends all of a sudden you're on top. Extra buy or gain cards help immensely with this (e.g. Ironworks, Bridge, Goons).