Ballistol works great. But smells like feet, a$$, and old hot dog water. I'm not even allowed to open the bottle in the house. Hoppes #9 has a pungent odor too, but to me it's a pleasing odor. I think they should make those little Xmas tree airfresheners in Hoppes #9 scent. Quite manly.
I tried the Hoppes BP cleaner once. It didn't do anything that hot water and dish soap can't do. And as Capt pointed out, it's too expensive.