The best solution I have is use an air compressor every 6 months or so. I take mine to my parents as my dad has one. I take the front and sides off and blow the crap out of it. Canned air really does not have that great of pressure.
If you do not have the air compressor option and it is REALLY bad, I would use a vacuum cleaner. I'd use the hose with the smallest attachment and suck our as many dust bunnies as possible. I would avoid coming in contact with the components as much as possible. Then maybe go over it with a can of air for any small areas. For fans I will sometimes remove them and spend the time to whip down the fan blades with a small damp cloth. That might be overkill. All you are trying to do is get rid of the dusk pile up on hot components and our of heat sinks. Anywhere that is obstructing air flow or heat dissipation.
Another note is if you sit your PC on the floor or very close to the floor, consider moving it to the desktop. The closer it is to the floor the more dust it tends to pick up.