My helmet have removable liners. I have removed and cleaned them a couple of times, but it is not that simple, as a part of the helmet trim had to be unglued.
Then I tried the dry cleaning, a spray that will make a foam and you just rub and let dry. Sure, it smells better, but where did all the dirt go?
So I read about it in an spanish forum, tried and now it is my favourite way of cleaning the helmet. Just put it in the bathtub and clean it with lukewarm water and clothes washing soap. Clean, rinse, clean, rinse, until water gets out just clear -it is amazing the amount of dirt the liner can get-. Once cleaned, let it dry at air temperature for a couple of days.
Yes, I know, somebody will chime in saying that "water temperature will damage the styrofoam inside" etc. That is because your head never rises the styrofoam temperature to 37ÂșC or the Sun never rises the temp. either.
Lukewarm water, soap and you are good for some weeks or even months.