You can use both. Before ditching my desktop collection, I used to clean them using a six-gallon air compressor and a vacuum. Compressed air is much better at dislodging dust. As Nanne said, though, don't get your fans spinning too fast or you'll be generating current to be sent to your mobo. I usually use a finger to hold the fan in place while blasting it with air.
Anyway, unless you have a space away from where the computers normally live to clean their insides, you'll want to use a vacuum to suck up all the dust dislodged by the compressed air. Otherwise you're just going to end up with a bunch of dust in the air which the computers will pull right back into the chassis after you've powered them back on. I use short blasts of air to give the vacuum time to get the dust.
Without a vacuum, though, just use compressed air in a different, non-computer room.
Edit about the vacuum: You don't want to get it close enough to zap electronics; as others have mentioned those nozzles (plastic especially) can generate charge enough to zap things. You just want to capture the dust kicked up by the compressed air, not clean the components directly. Thanks to everyone who pointed that out.
Leaf blower is better than the can for speed and efficiency. People think it's weird, but really, it's just a large volume of air. – Jonathan – 2016-01-08T21:53:16.443
6A leaf blower? This is a joke, right? Ever heard of pressurized air? It comes as a handy spray can. And this works better to get dust out because a vacuum cleaner will usually not pick up the dust "sticking" to the surface because it is not strong enough. Also, these spray cans have small tubes that can reach every corner. – Sven – 2011-04-14T08:48:16.173
2Yes, I've heard of pressurised air. I'm just asking about what my local PC shop guy told me. Besides, pressurised air is quite expensive in South Africa – gillespieza – 2011-04-14T09:02:35.413