Mine get really filthy too. I use a bucket of very warm (but not hot), soapy water. I take them, one at a time, and dip them briefly in the water. Then I rub gently with my hands. Dip and repeat until they are clean. I never rub them very hard.
I don't know if that is the best way, but it was recommended to me and seems to have worked. I am hatching this batch on Monday, and out of 13 only one has not made it so far, and it was a fairly porous egg that I knew was a gamble. If they had had cleanliness problems, they would already have been dying from the bacteria load.