Você está certo. Sistemas operacionais modernos permitem que os arquivos "falhem" conforme necessário. Quando você inicia um executável, o arquivo é mapeado na memória de tal forma que o kernel é invocado quando uma página é acessada pela primeira vez. Quando o kernel é invocado, ele lê aquela parte do arquivo na memória e "suporta" parte do mapeamento com aquela página da RAM.
O Windows já possui um esquema de pré-busca que faz com que as páginas com maior probabilidade de serem carregadas na memória antes de falharem, evitem precisamente esses atrasos. É muito bom no que faz, então os atrasos restantes são inevitáveis sem adicionar mais memória RAM ao sistema ou substituir o dispositivo de armazenamento em massa por algo mais rápido.