When I use the print widget and point to Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task on my server then I get all of the layers. However, it does require the I use esri.config.defaults.io.proxyUrl = "/proxy"; which throws an error if I try to run any print service other than the Utilities/PrintingTools. So you're saying that I shouldn't need a proxy at all if all I'm using are services from my server (what if I add a basemap like streets in the map declaration)?
On a side note about the Utilities/PrintingTools, online it says that there are numerous templates and you can select the format. But I can't find a list of what the template names are or how to get it output to anything other than it's default png.