If your app is a Desktop one (not ASP.NET) then I'd try to learn the printer target language commands (determine it asking the manufacturer) and would send the raw commands to the printer by using this code
http://support.microsoft.com/kb/322091[
^]
Printing performance will be way better/faster than using PrintDocument though the Windows driver.
There are also some third party solutions out there that target thermal printers which you can try too and see if your budget allows you to go for them.