Having broken not just one but several centerfire handgun firing pins by dry-firing, I will now not dry-fire any of my CF pistols except 1911s without snap caps.
It's easy to make your own. Just knock the primer out of a fired case and fill the primer pocket with either the eraser from a common pencil, or a silicone caulk such as GE Silicone II. Note that having just a fired case with a fired primer in it provides NO protection whatsoever.
In rimfires, I don't snap them often, but when I do, I use a fired case, rotating it to a fresh spot every two to four hits. SOME rimfires are safe to snap empty (notably, Ruger's autopistols and the 10/22) but as a general rule it's best to NOT snap rimfires empty.