Depende da escala em que você está - você tem os passos básicos para baixo, as principais diferenças seriam em como o arquivo de configuração é propagado para os servidores de produção (sites maiores envolveriam coisas como verificá-lo para revisão controlar e esperar ou forçar Puppet, Chef, CfEngine, etc. a propagar a mudança) e o grau de automação que é usado (novamente, sites maiores esperançosamente têm mais procedimentos automatizados, já que eles estarão lidando com mais de um servidor ).
COMO para reinicialização graciosa versus difícil - no gracioso, o processo pai do Apache "principal" não sai, apenas os processos filho do trabalhador. Eu vi circunstâncias em que o processo primário tinha algum tipo de estado em cache - DNS antigo, qualquer que seja - que não fosse liberado com um ciclo de parada / início completo.