Правильно: в Москве; в г. Москве, в городе Москве. Последние два варианта следует характеризовать как специфически-канцелярские, то есть употребительные преимущественно в официально-деловой речи. Варианты в г. Москва, в городе Москва не соответствуют литературной норме.
Правило таково: географическое название, употребленное с родовыми наименованиями город, село, деревня, хутор, река, выступающее в функции приложения, согласуется с определяемым словом, то есть склоняется, если топоним русского, славянского происхождения или представляет собой давно заимствованное и освоенное наименование. Правильно: в городе Москве, в г. Санкт-Петербурге, в городе Владивостоке.
Обычай не склонять географические названия укоренился в профессиональной речи военных и топографов и под влиянием этого профессионально-терминологического языка широко распространился в современной речи, однако нормой его считать нельзя.
Подробно о склонении географических названий и об употреблении перед названиями городов сокращения г. и слова город см. в «Письмовнике».
Строгая литературная норма требует склонять русские и хорошо освоенные иноязычные названия городов в сочетании со словом город: в городе Москве, из города Ялты, сайт города Симферополя. Отсутствие согласования (из города Ялта) можно встретить в официально-деловом стиле, в административно-судебной речи.
Название города следует склонять. Подробнее см. в «Письмовнике».
Оба варианта верны. Это сочетание может произноситься двояко: с ударением на предлоге в соответствии со старшей нормой или с ударением на существительном в соответствии с младшей нормой.
Предпочтительно не склонять: в городе-государстве Вавилон, в полисе Спарта. Географические названия, включая городские и административные, как правило, склоняются, если они являются славянскими или давно освоенными именами в русском языке. Но в случае городов-государств и названий греческих полисов предпочтительно не склонять по аналогии с другими названиями территориальных единиц, приведенных в «Словаре географических названий» А. В. Суперанской (2013).