There are pros and cons to both methods. The metal speed nuts hold tight but sometimes are hard to remove if needed and the metal to metal contact of the badge,grille, etc, is a good place for rust to begin. The nylon snaps go in the hole first and then the stud presses into it for a tight fit and no metal to rust. It requires a good fit.The grill or badge must fit without putting any stress on the studs and causing them to pop out.
I used to use a rubber mastic that would not dry out. A small ball pressed and flattened on the stud holds it and not only does not cause rust, but actually seals the hole to prevent water from getting into the boot or other area. The mastic is used for seam sealer. You can use rope caulk as well.