Crud built up in the firing pins most likely. Especially if you are using zinc plated hulls. Complete dis-assembly and detail cleaning is best especially if you are using the zinc plated hulls as the pieces of zinc are quite abrasive. Might get by with taking the stock off and hosing the firing pin holes with aerosol cleaner I like Rem oil. Blow with off compressed air and repeat, blow as much as you can before re-assembly.
Main springs get weak also. In my 686, I have to change my main spring about once a year to avoid the misfires. You can buy the whole assembly from cole for about $35, or just buy the spring and keeper for about $10...I go the spring and keeper route because I'm a cheap prick.
You should not need to replace hammer springs every year. Most folks, me included, only change them when they break. It is amazing how much crud can build up in the firing pin holes. Have you detail stripped your receiver?
Which barrel? One you shoot singles with all the time? how many rounds thru it?
Might be time for a new firing pin, doesn't take much mushrooming to get light hits. Had the same thing a few years ago, 1-2 lite strikes/season, then 3-4, then realized bottom barrel was the issue. Took it to the Beretta gun smiths at Nationals, and they replaced both firing pins, showed me the bottom one and where it had mushroomed/wore out after 30 years. I suppose it was time to change them out. They did the springs too, just the cost of parts if the Beretta factory smiths are on site at a big shoot.
Not hammer springs, main springs. I have stripped my receiver many times, torn it apart and cleaned all the individual parts. It is not a matter of cleanliness in my gun, it is the main springs. This I can tell you with 100% confidence, having replaced them several times. I shoot the gun top single for singles and handicap and only use the bottom barrel for doubles. If I start getting misfires, I can swap the main springs between barrels and the problem instantly disappears without having to clean the gun.
I had a VERY similar experience with a friends 686 last week.
He just purchased the gun (X Trap Top Single), and was having trouble the first time he used it. Getting some INCREDIBLY light firing pin hits.
Tried different kinds of ammo, I COMPLETELY detail stripped the action (removed the trigger group, and removed ALL removable pieces from the action), cleaned the firing pin holes, ultrasonically cleaned the action, parts, and trigger group, swapped mainsprings, ect, no change (I was VERY disappointed after working on the gun for almost 3 hours and not resolving the issue).
Turns out that the ejector was a little worn, and was ejecting early. Because of this, my friend was opening the gun enough to trip the ejector, but not enough to completely cock the hammer. The hammer on the Beretta actually has 2 sears, the main sear and a safety sear. He was opening it far enough to set the the safety sear, but not enough to set the main sear.
Was playing around with his gun when I had the epiphany that failing to open the gun completely was causing the problem. Went out and test fired 10 shells making sure I opened it all the way (until it stopped) and the problem disappeared.
May not be your problem, but its a starting point at least.
"Turns out that the ejector was a little worn, and was ejecting early. Because of this, my friend was opening the gun enough to trip the ejector, but not enough to completely cock the hammer. The hammer on the Beretta actually has 2 sears, the main sear and a safety sear. He was opening it far enough to set the the safety sear, but not enough to set the main sear."
I can hear the hammer drop, but it does not snap with authority. It sounds like a wimpy hammer drop. It could be this. So it ia resolved by making sure you open the action completely?
When I intentionally did it on my buddies gun, the hammer would still fall, but it made a real weak, weird sound, not the normal "snap" like you would expect.
Theoretically, the ejector should trip AFTER the hammer is fully cocked, so if this is indeed the situation on your gun, its time for a little ejector work, but you can get by by just making sure you open the gun completely every time.