Möglichst schnell ist immer relativ, es kommt einfach auf den Ausgangspunkt an. Ich würde wahrlich die Windows-eigene Suche nutzen, wobei man halt mal die Indexierung bis zu Ende laufen lassen sollte
Es gibt hier aber auch noch ein paar andere Desktop-Search-Programme à la Archivarius, die evtl. mehr Features bieten. Schneller wird es dann wohl kaum werden. Wobei hier halt immer eine entsprechende Indexierung voraus geht. Hat man die Zeit, dann sollte man diese investieren!
Ansonsten kann man sowas auch selbst schnell schreiben. FindFirst/FindNext incl. Rekursion gibt hier Threads en masse. Wobei ich nicht weiß, wie sich mehrere Threads auf die Performance auswirken. Ein paar können vielleicht eine kleine Beschleunigung bringen, aber zu viele tun nicht gut, da die der Festplatte-Lesekopf dann zu viel bewegt werden muss.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)