Metal whistles with plastic mouthpieces, (eg Generation),can be cleaned by.... placing upside down in a cup of hot, (not boiling) water. This should make the mouthpiece loose enough to come off. Then I either use the Q tip method or take a small sharp knife to it and scrape the gunk out.
The plastic mouthpieces are usually glued on when you get the whistle, but by soaking them off like this you are able to tune your whistle. You may need to use vaseline or somthing to get the mouthpiece back on again.