Geralmente, criamos uma tarefa agendada que executa o wget a cada poucos minutos para realizar a carga inicial. Isso pode ser executado em qualquer computador. Existe um recurso de "aquecimento" com o IIS 7, mas eu realmente não vejo como poderia ser mais simples do que usar o wget.
wget.exe --quiet --secure-protocol=SSLv3 --no-check-certificate sitename.domainname.com
Observe também que, se o seu site não estiver pré-compilado, o usuário ainda terá um atraso para cada página que não tenha sido compilada. A melhor coisa a fazer seria usar aspnet_compiler.exe para fazer isso para você no processo de compilação.
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe" -f ^
-v "/" -p "%~dp0..\..\SourceWebSiteFolder" ^
-d -fixednames "%~dp0..\..\PublishedWebSiteFolder"