Determining which 3 way switch is wired wrong
Get an electrician with an insulation resistance tester in to check this out further

Since both 3 way switches appear to be wired correctly, the one cause left remaining in the wiring system is a short between the two traveler wires themselves.  To find this, I would have an electrician come in and unhook both traveler wires at both ends, then measure between them with an insulation resistance tester (often called a "megger").  From there, it would be a matter of chasing down any shorts found, and replacing either the entire cable or patching in a section of cable using NM splice kits to repair the situation.

If it isn't that, then I'd have the switches themselves checked, although that's less likely than an errant staple or nail causing a short.