It depends on how far you ride, and the conditions. If you in the rain, or on an occasional dirt path or road, more frequent cleaning is necessary.
At the moment, I clean and lube my chain once per month. I run the chain through a Park "chain gang" cleaner with simple green, and oil the rollers on the chain once it's dry.
When I was racing, and riding 300-500 miles per week, my chain was cleaned and oiled at least once per week. If it rained, it was cleaned that day.
I just got done cleaning the chains on my bike and my wife's bike today. You can do it in 15 or 20 minutes with a little practice. Chains and gears last much longer with regular cleaning and oiling.