The limitation of cyclonic separation is that it can't get rid of particles less than some size from the air. A technique which could remove all particles would be to bubble the water sucked in by a vacuum cleaner through some water. That would cause all the particulates (and some noxious gases) to get dissolved in the water, which could easily be removed when you were done cleaning.
My suspicion is that this technique would require a lot of power to force the air under water, but that it would be quite effective. It might also work well as a standing system in a house, by having an air purifier which is constantly sucking up air from around a house and bubbling it through a central water tank, and periodically flushing the tank.