Unfortunately I think this is fairly typical. The Windows driver would have been optimized by the manufacturer to work with windows.
Many Linux apps, on the other hand, generate postscript code for printing, because it is an open standard and can do high quality. But there is a big processing overhead, and it's not possible to take advantage of many printer specific features.
Even printing plain text can be slow if it gets first rendered into postscript.
I don't know any solution