В составе 1033-го стрелкового полка Петр участвовал в битве на Курской дуге. За проявленную доблесть награжден командующим Центральным фронтом генерал-полковником К. К. Рокоссовским орденом Красного Знамени.
В сентябре Горчаков возглавил группу из сотни бойцов, прорвавшую немецкие позиции у берегов Днепра и тем обеспечившую плацдарм для основных сил. Отсюда развернулось наступление на Коростень и затем на Киев. 10 октября на реке Тетерев Горчаков был тяжело ранен — четвертый раз с начала войны. За доблесть и геройство, проявленные в многочисленных боях, за форсирование рек Сейм, Десна, Днепр ему присвоено звание Героя Советского Союза.
После переподготовки в феврале 1944 года подполковник Горчаков получил назначение на должность начальника политотдела 276-й стрелковой дивизии на 4-й Украинский фронт. С ней он штурмовал казавшиеся неприступными Карпаты, участвовал в Моравска-Остравской и Пражской операциях. Закончил свой боевой путь 12 мая 1945 года в населенном пункте Круп, в 30 километрах от Праги.
Командовал ротой знаменосцев 4-го Украинского фронта на Параде Победы в Москве.
В 1949 году был начальником политотдела корпуса в Эстонии. А с 1970 по 1987 год до ухода в отставку был членом Военного совета — начальником политуправления Ракетных войск стратегического назначения.
Горчаков — Герой Советского Союза, награжден двумя орденами Ленина, орденом Октябрьской Революции, двумя орденами Красного Знамени, тремя Отечественной войны I степени, пятью орденами Красной Звезды и орденом «За службу Родине в Вооруженных Силах» III степени, имеет более 40 медалей, награжден орденами и медалями зарубежных стран.