Even the Secret Service doesn't have a great track record for preventing attempts. Their presence puts some stress on the perpetrators, which does help, and they are good at preventing quick wide-open follow-ups to a miss or partial success, but they're bad at preventing the first shot or two. And I don't think it's because they're exceptionally bad at what they do, but because if someone really wants to take a shot, entirely stopping them is a hard problem by the time they're already close and armed.