Д.Э. Розенталь. "Пишите, пожалуйста, грамотно" (М.: Изд. «Астра», 1995).

Гл. XIIV. Согласование определений и приложений.
§197. Приложения - географические названия (стр. 261-263).
1. Названия городов, выраженные склоняемым существительным, как правило, согласуются в падеже с определяемым словом, например: в городе Москве, у города Смоленска, над городом Саратовом. То же при иноязычных названиях: в городе Алма-Ате, близ города Венеции.
Обычно не согласуют редко встречающиеся названия <…>