Idling the engine most usually doesn't create enough temperature in the engine to even warm the engine up, no less make hot water. When we are motoring from our slip, we have to motor about 40 minutes. ONLY with a LOAD on the engine will it come up to temperature to heat enough hot water for a shower. If you run your engine, as a test, in idle, check the temp gauge and see if it moves. If it doesn't, and it most likely won't, them you won't get hot water.
A Sunshower, with added hot water from the stove, will do the trick. Either that or you simply have to change your habits of showering until after you've motored for awhile, after being at anchor or unplugged.
I find that even if I run our engine at 1,500 rpm for say 20 minutes for a battery bulk charge after two nights on the hook that there simply isn't enough load on the engine to bring the temperature up enough for hot water.
One of our skippers used one of these:
www.zodi.com