A visão tradicional é que os arquivos de dados dos bancos de dados do usuário devem estar em uma unidade, os arquivos de log dos usuários em outra unidade (essa é a unidade que realmente precisa ter latências rápidas) e TempDB em uma unidade separada. Além de isolá-los uns dos outros, logs e arquivos de dados têm características IO muito diferentes.
As coisas mudaram com a aparência das SANs, já que os administradores de SAN geralmente davam aos DBAs partes de grandes blocos de diferenças de desempenho de disco que não eram tão aparentes.
A virtualização mudou ainda mais, já que o DBA pode ter pensado que ele separou seus arquivos de dados de seus logs de seu TempDB, mas o administrador da VM colocou todos esses "drives" diferentes na mesma unidade física - em um mundo de VM essas unidades são apenas arquivos.
A minha opinião é que ainda é bom manter arquivos de dados, arquivos de log e arquivos do TempDB separados - se um deles inchar, você espera que consiga um pouco mais de tempo para consertá-lo - e não derrubará tudo.
Se você puder fazer isso, a melhor prática ainda é manter seus arquivos de dados e arquivos de log separados - e se você puder manter o TempDB separado também, então ótimo. Alguns aplicativos, especialmente usando o Read Committed Snapshot Isolation, usam intensamente o TempDB.