Стандартные файловые диалоги, предлагаемые WinForms и WPF, являются просто оболочками вокруг собственных диалогов.Поэтому имеет смысл использовать эти управляемые классы C #.
Если вы хотите каким-либо образом настраивать диалоги (например, добавлять элементы управления в диалог), то может быть целесообразно использовать собственный API.Но это главным образом потому, что вам нужно использовать технику настройки для XP, отличную от той, что использовалась в Vista / 7.Даже в чистом нативном коде настройка файловых диалогов нетривиальна, и вам действительно следует избегать этого, если вы можете.