The best UI for Overpass is http://overpass-turbo.eu/
Else there are more manageable regional extracts of OpenStreetMap XML: http://download.geofabrik.de/
I haven't found a very simple way to get everything within exact city borders, yet. This is the process I've been going with so far: https://github.com/JamesChevalier/cities#cities
Some cities make shapefiles available for urban growth boundaries and city limits. It's worth enquiring. But be aware that some cities city limits are not simple polygons; depending on local ordinances you can see islands, internal voids and peninsulas attached with zero width stems.
The poly files that you get from the process outlined in the readme file will include islands/voids. It's pretty cool.
I give you the "city" of St. David's: http://www.openstreetmap.org/browse/node/3216768 It's in Wales, UK, and is tagged as "place=city". It's a small town of ~2,000 people. It has a charter from the monarch, and a cathedral. The "note" tag in OSM says: "the "city" is on paper, what's on the ground is a small town".
Humanity is complicated. :)
I've been playing with place names & http://overpass-turbo.eu/ ... I seem to be getting the best results with "city|hamlet|metropolis|town|village", although some states like Alaska & Hawaii still don't return much with this scope.
In Alaska, a lot of places are labeled as County. In Hawaii, a lot of places are labeled as Other.
Greenhorn, Oregon is designated as a city but has a 2010 census population of zero. Though now unicorporated, Tenny, Minnesota, was a city and had a peak population of 180 people in 1910 but now is down to 5 (2010 census).
I've been meaning to dig more deeply into OSM for a while now, and this may be the kick I need to do it.