CityStrides gets its country/region/city/street data from OpenStreetMap.
Cities are on an automatic syncing schedule that attempts to sync batches every minute, assuming the current system load is not too high.
Each city displays its last updated date on its page, just under its name. The icon next to the date spins while the city is syncing.
The corresponding Sync Report also displays the current state of the city sync. Lately, step 4 is where the bulk of the time is spent.
There is no set/known frequency of city updates, since the system is constantly operating and being affected by many things (size of updates, new cities being added, people running in new cities, people deleting activities, Supporter queueing up syncs, etc).
You can keep an eye on the Status page to see how long the current batch has been operating & what its estimated runtime is. This can help you determine when to come back to request a city sync.