Eu tentaria o Process Monitor da Sysinternals, que deve permitir que você veja que tipo de acesso a arquivos está sendo executado quando você abre um arquivo.
Pelo que entendi, o Explorer tenta encontrar ícones para cada arquivo, que às vezes tenta localizar o aplicativo associado (por isso mostra o ícone do Excel ao lado de um arquivo do Excel, etc.). No entanto, se houver um aplicativo localizado em uma pasta de rede (ou em um cartão de memória), isso poderá diminuir a velocidade. E, claro, se o caminho da unidade não estiver lá, por exemplo, um cartão de memória que não esteja conectado ou o caminho da rede que ele não conseguir encontrar, ou se a permissão para o arquivo for negada, isso diminuirá a velocidade.
O Process Monitor também mostrará muitas outras coisas que acontecem quando você abre uma janela, por exemplo, às vezes quando o explorer tenta acessar um aplicativo para determinar o ícone do arquivo, isso desencadeia uma verificação antivírus.
Observe que os ícones deveriam estar armazenados em cache, para evitar consultas repetidas, mas isso pode não estar acontecendo. Há uma chave do registro que controla o tamanho do cache
Ícones em cache do Hkey_Local_Machine \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Max
(O meu está definido como 2000, mas talvez você possa tentar aumentá-lo).
O cache também pode ficar corrompido, mas nunca ouvi falar disso causando uma lentidão, às vezes faz com que os ícones não sejam desenhados corretamente.