Existem diferentes escolas de pensamento, e em grande parte se resume à preferência pessoal.
Uma é que é menos confuso se houver apenas um único ponto de saída - você tem um único caminho através do método e sabe onde procurar a saída. No lado negativo, se você usar indentação para representar aninhamento, seu código acabará recuado massivamente para a direita e se tornará muito difícil seguir todos os escopos aninhados.
Outra é que você pode verificar as pré-condições e sair mais cedo no início de um método, de modo que saiba no corpo do método que certas condições são verdadeiras, sem que todo o corpo do método seja recuado 5 milhas para a direita. Isso geralmente minimiza o número de escopos com os quais você precisa se preocupar, o que torna o código muito mais fácil de seguir.
Uma terceira é que você pode sair de onde quiser. Isso costumava ser mais confuso no passado, mas agora que temos editores e compiladores para colorir sintaxe que detectam código inacessível, é muito mais fácil lidar com ele.
Estou exatamente no meio do campo. Impor um único ponto de saída é uma restrição IMHO inútil ou mesmo contraproducente, enquanto sair aleatoriamente em um método pode às vezes levar a uma lógica complicada e difícil de seguir, onde se torna difícil ver se um determinado pedaço de código será ou não executado. Mas "bloquear" o seu método torna possível simplificar significativamente o corpo do método.