Consider this from the perspective of the Pidgey or Golurk or not Scyther that your flying on. What's easier to remember, see, and land on
A: A city that's one of a small group which dominates the landscape around it. This city has many individual characteristics that distinguish it from neighboring cities and towns, and has no hostile Pokemon or natural impediment. It also features a variety of services such easily accessible health care and supply store(s)
B: One of multiple similar routes often featuring harsh weather such as hail or sandstorms and natural obstacles such as mountains, forests or large bodies of water. Not to mention an infinite amount of hostile wild Pokemon prepared to fight you until they can't get up
It would appear that option A, cities and towns, are far more suitable places to fly too, and that most routes do not make acceptable locations to land. As such, it makes sense that most of the time, your Pokemon can only fly to places of civilization. Hope this helps.