I wouldn't bother with PNG; it's a lot of extra card/disk space (or upload time) for no real gain. A high-quality JPEG (11 or 12 in Photoshop, 4x or thereabouts in Paint Shop Pro, 80 to 100 in the GIMP) will do just fine most of the time. It's only when your image consists of a lot of high-contrast geometric detail that you'd really need to worry about lossless formats like PNG or TIFF. If you can't tell the difference on screen at a 50% zoom level, you won't see the difference in a print. (You'd need to save the file as a JPEG, close it, then re-open it in order to see whether there is any damage from compression artifacts.)
You'll also want to see what the printer's preferred colour space is. A lot of printers prefer sRGB, some will work with Adobe RGB, and a very few will accept ProPhoto RGB. You're usually safe with sRGB when printing on photo papers, but for inkjet processes (like canvas printing), you may get better results with aRGB if it's accepted.
Finally, if your printer can supply you with a printer profile, you can use the soft-proofing feature of your image editing software (if it does colour management)—along with a properly calibrated monitor—to adjust your image for the best results obtainable on the printer. The screen and the print both have their own nuanced characteristics, and what looks good on-screen might not translate into good prints (and vice versa) without accounting for their differences. You might find this video by Kevin Kubota more helpful in explaining this than I have been.