Yep Phil is right location pages are best.
Although you seem to be worried about if Google would think it's KW stuffed. I would say even if you can stuff 3 cities, should you?
Even if allowed, you aren't going to rank for all the keywords in all the cities.
Having all 3 cities in all the title tags is sort of a shot gun approach that won't usually yield high rankings. See some of the advice I gave this user who has 3 cities in title tag:
http://localsearchforum.catalystema...-delete-start-over-showing-old.html#post28503
Would help to see the site, but in VERY general terms you are only usually going to rank on page one in the city the address is actually in. (Depends on KWs and competition.)
So again in VERY general terms the home page should be optimized for that city and then you should have city pages designed a very specific way to rank in those cities. Those other cities you likely won't be able to rank in local pack, just organic, which makes it harder to get on page one.
Think about it this way. Google is trying to show the very most relevant results so if you are in city 1, trying to rank in city 2 and there are 40 other providers that really are located in city 2, why would Google rank you high in that city other the other businesses that are there? You need to do some really specific and well thought out location pages to even have a chance to rank against businesses with addresses in that city.
You can find some really good advice about doing location specific landing pages at this hashtag:
#multi-location - Search Results