Seriously, it works as well as any of the other methods mentioned so far, without compromising the waterproofing. If it's looking dirty as well as smelling it you can always freeze for a day and then wash it out in plain, hot water.

The smell is caused by bacteria that are entirely killed off by the freezer because the moisture inside the bacteria crystalises and tears the bacteria's membrane.