Правильно: в Москве и (в канцелярской речи) в городе Москве.
Это название в сочетании с родовым наименованием город не склоняется. Подробнее см. в «Письмовнике».
Верно: в городе Санкт-Петербурге.
Верны оба варианта. Первый предпочтителен, поскольку при склонении (в городе Балабанове) приходится восстанавливать начальную форму: Балабаново или Балабанов?
Первая часть названия не изменяется: в Гусь-Хрустальном, в городе Гусь-Хрустальном.