They're not even close to perfect:
Since 9/11, more than three dozen federal air marshals have been charged with crimes, and hundreds more have been accused of misconduct, an investigation by ProPublica, a non-profit journalism organization, has found. Cases range from drunken driving and domestic violence to aiding a human-trafficking ring and trying to smuggle explosives from Afghanistan.
The meta-problem is that the kind of person who wants to be federal air marshal is the exact kind of person we don't want for the job.
Before 9/11, the Air Marshal Service was a nearly forgotten force of 33 agents with a $4.4 million annual budget. Now housed in the Transportation Security Administration, the agency has a $786 million budget and an estimated 3,000 to 4,000 air marshals, although the official number is classified.
And 3,000 to 4,000 is a lot of people to hire quickly; it's hard to weed out the bad eggs.
http://www.schneier.com/blog/archives/2008/11/when_sky_marsha.html