Either the water heater is stinky, or the lines.
On my boat I periodically put a small amount of chlorine bleach into the water tank, then run the water tank dry through all the taps. (This is not a recommendation, but it works for me.) Don't forget to periodically remove / clean / replace the aeration screens from all the faucets.
The water heater on my boat is a cylinder w/ dome end caps. The cylinder is mounted horizontally, w/ all the fittings in one dome end cap. The cylinder is encased within a steel box.
The water heater will NEVER run the water out of the bottom, unless it mixes w/ the water in the rest of the vessel. The end cap fittings start at about 1" above the bottom, always leaving that much water in the "empty" tank.
If the bottom of the cylinder grew a "slime" during "empty" winter storage, then it might be required to unscrew / disconnect the water heater to permit higher power garden hose flushing of the interior, w/ complete draining w/ the open fittings pointing down.
A temporary removal of the heater element will create a large opening to the cylinder interior that might aid in a complete cleaning.