My application will be writing files to the disk from a MemoryStream. Instead of creating my own progress dialogs, I would love to use existing windows functionality e.g. SHFile
You can use Shell Progress Dialogs for this; this API exposes the dialog only, allowing you to use it to show the progress of any type of operation in your own application.
I wrote a managed wrapper for this a while ago, which you may find useful: Using Shell Progress Dialogs in Windows Forms Applications