Eu não consideraria isso uma boa prática. Quando a maioria das pessoas geralmente configura itens como "nightly iisresets" ou "nightly reboots", geralmente, é porque eles estão executando um aplicativo mal escrito e vazando recursos, a ponto de todo o sistema se tornar instável a menos que reinicie o sistema. aplicação, o serviço ou até mesmo todo o sistema. O problema é que essas pessoas estão ignorando o problema real. (Ou são incapazes de consertar isso.)
Corrija o aplicativo para ser estável e não vazar recursos, e depois os iisresets ou reinicializações do sistema não serão mais necessários ou úteis. Infelizmente, isso é muito comum nos aplicativos da web do IIS, até o ponto em que o próprio IIS é projetado com base na idéia de que os aplicativos executados serão mal escritos e vazados. Caso contrário, não há necessidade de reciclar rotineiramente pools de aplicativos, etc.
Então, para recapitular - se os iisresets noturnos fizerem parte de sua estratégia, é porque você tem um aplicativo da Web mal escrito e o ideal seria consertar seu aplicativo. (E sim, reciclar pools de aplicativos é melhor que um iisreset, já que você pode reciclar um pool de aplicativos sem afetar todos os outros sites em seu servidor.)
Edit: Aqui está um post bem bacana de um cara que basicamente diz a mesma coisa que eu, mas ele também afirma que ele sempre desativa completamente a reciclagem do pool de aplicativos, em vez disso insistindo que sua equipe conserte cada vazamento de memória , que IMO é um esforço heróico e louvável: