Our company originally started in one city, now it is in multiple and the city we started in is actually now less important to our business than some of the new cities.
We've of course have Google Places for Business listings for all our cities and are listed in the other prominent directories for each City (Bing Places, Manta, Superpages, etc etc)
We have created once city page for each city in our domain. All this has improved our Local SERPs for those cities but they pale in comparison to our dominance in the city we started out in. We did have the first city in our home page title, we took that out.
The obvious problem is from an SEO standpoint your home page is your "strongest" page but how do you make your home page rank top for multiple location intent searches: "{city} {target keyword}" ?
The 3-pack is KEY. For example, for one city we make it into the local 3-pack but we are not in the organic SERPs on page 1 outside of the 3-pack.
As far as I can tell the major factor in 3-pack ranking is of course proximity of business to the user's location or user's location intent. I would say followed by the natural ranking factors (or at least a large subset of them) that Google uses for its normal organic rankings, followed by Google Places reviews. You would think the Google places reviews really make a difference, but not as much as you think.
So how do you dominate local searches in different cities when competing against local-only companies? My only guess is you need to create as much content as possible. You don't want to make micro sites I think as you lose all the link juice going to your main site. But how much content can one make that isn't duplicative. You can describe the same products and services over and over for each city but that's not useful nor wise. I guess you could do some re-writing. But other than a different address, phone, and staff members, if your service is identical for each city it doesn't leave a lot of room for useful content creation to improve local search SERPS.
I guess this begs the overall question, can a multi-city company ever dominate local SERPS when the search has a location intent (city name in the search) it there is even just a couple competing local companies doing some SEO work. it seems it is an extreme uphill battle if not next to impossible. (Never say never.)