I prefer to use the Acad dialog, as that gives the user all the functionality they are accustomed to.
If you need to select multiple files and by that I mean a shed-load, then have a looky at the code I posted
here.
By allowing a FOLDER pick, rather than selecting a mass of indivual files you can then control the UI updates (BeginUpdate/EndUpdate) givng the illusion of good perfomance and you get the best of both worlds.
It reminds me of the old saying...'
It's easier to destroy than it is to create'.
In this context, it's easier to pick a shed-load of files via folder pick, then have the user knock out the relatively few he doesn't need in this batch run, than make them pick using CTRL + SHIFT modifiers in the dialog which is slow...make sense?