I usually keep my chain well lubricated. However, my gears are usually greasy. Should I be cleaning the gears or are they supposed to be greasy?
I clean my gearing and whole drive train every few months. I ride about 250km a week so it's not a time frame requirement but a use thing.
I would suggest that every few thousand km or each year you should take apart your whole drive train and get it entirely clean. Replace your chain but keep the old one just in case the new one skips. I replace my chain with each cleaning so that the gearing doesn't wear to fit the chain and thus cause skipping. Well worth the price of a few extra chains vs the cost of a replacement cassette.
My goal for each cleaning is that all parts should be back to their original colour. The older they are the less you can acutally do that as they scratch up but I'm sure you get the idea.
Degreasing the drivetrain is a good idea. You don't have to disassemble it and soak the cassette to get the grease off. Use foamy, citrus, earth-friendly squirt degreaser and a coarse plastic brush (both can be bought at your LBS). curtismchale has a good point about the gearing being worn by a stretched chain... but doing it with every cleaning is overkill and expensive.
They should be lubricated but not dirty. That said, there is some amount of dirt that can't be helped - it's a bike.
It's easy to clean the cogs/cassette/freewheel by taking out the rear wheel, spraying on a small amount of degreaser and flossing between the cogs with a rag. Get the rag right in between two cogs and move it back and forth. You'll notice that the cassette rotates as you floss left and the rag picks up dirt as you floss right.