Compressed Air is not Allowed
The manufacturers that I know about have a policy that their warranty is voided if compressed air is blown into the smoke detector. Once a smoke detector has compressed air blown into it, they won't stand behind their product because of potential damage caused by the high velocity air.
Because the process of "listing" a device is started by the manufacturer, I suppose that also means that the smoke detector, no longer backed by the manufacturer's warranty, is no longer "listed" as a smoke detector. Remember, the NFPA says that all devices used in a fire alarm system have to be listed for Use in a Fire Alarm System.
Don't use compressed air (a can of air is compressed air).
Sticky Dust Particles
Most of the time, to make the smoke detectors dirty, dust particles are sticking to the inside of a black photo chamber; the dust particles are "sticky". The particles that aren't sticky will mostly just bounce off the black plastic of the chamber side and usually pass on out of the chamber.
You've seen the dust that sometimes accumulates around air vents? That is an accumulation of sticky dust from the air. That's the same sticky type of dust particle that is sticking to the inside of the photo chamber of a smoke detector.
My wife claims that the only way to clean that kind of dust is with a soapy solvent, and a cleaning rag. Because of the solvent, using those tools to clean a smoke detector will damage it, so don't use any water or chemical inside a smoke detector.
A clean, dry, fine cloth can be used to dislodge a lot of the sticking dust particles, but to loosen up the particles in the crevasses of the chamber is difficult to impossible. Besides, to use a cloth, you will have to open-up the smoke detector.
Check with technical support for the detector's manufacturer to find out if opening the detector will void the warranty. Sometimes the manufacturer will sell replacement photo chambers. That's one possible solution.
A vacuum cleaner uses low velocity air to pull the dust particles away from the sides of the photo chamber. If the particles aren't sticking very strongly to the sides of the chamber, a vacuum cleaner will remove them. However, because the air stream is disrupted by the light baffles around the chamber, and the insect screen around that, the velocity of the air is very slow and won't dislodge the really sticky dust particles.
A vacuum cleaner really doesn't clean a smoke detector.
The National Fire Protection Association (NFPA) does talk about regular cleaning of smoke detectors. However, the NFPA doesn't provide a procedure to clean the detectors. They leave that up to the individual manufacturers.
Often, the manufacturers will be able to provide an inexpensive attachment for a vacuum cleaner. However, because it is non-invasive to the smoke detector, it will still not dislodge any sticky dust particles. Those sticky dust particles are what make most actually dirty smoke detectors stay dirty even after using a vacuum cleaner.
My Personal Policy
As far as truly dirty smoke detectors go, the best policy I've found is that if I go on site because of a dirty smoke detector, I replace the smoke detector. It is far cheaper for the customer to just replace the detector than to pay the cost of my coming back on-site again in a month or so, just to clean the same smoke detector.