I'm not sure why it never occurred to me, but i have thrown out keyboards after they got too disgustingly dirty, under the assumption that they were too grimey to get clean without getting soap and water in them..
Then it occurred to me that maybe you could wash a keyboard with water as long as you let it completely dry before plugging it in.
Some searching on the internet suggests that
it can be done safely.

So I gave the theory a real test,
submerging and soaking my keyboard in a bathtub of water and then power washing it with a garden hose.
By the time i was done it looked brand new. A couple of hours left in front of a strong fan and then a week left to dry, and it works 100%.
Don't know why no one ever told me about this before..