I've experimented with different ways of dusting on old, abandoned PCs. The most extreme I've gone is actually using a towel/microfibre cloth along the PCB (the board). Granted, I did it during a humid summer day, so I can't comment on the risk of static discharge.
As a general rule, the less contact with your components the better. You could probably get away with a paintbrush, however, ask yourself if spending the time and money on getting compressed air is worth avoiding the risk of a dead motherboard.
Also, in my first post I mentioned using a vacuum cleaner to assist in dust removal. In my experimenting, I have yet to harm a PC doing so, but it simply is a dangerous practice. With all the dust particles entering the nozzle and building a static charge, a vacuum nozzle is nothing I would want in close proximity with a computer I care about. I certainly wouldn't use it on a client's computer.
I hope that helps!