The 32-year-old moves to Selhurst Park after rejecting the offer of a new contract from Southampton.
John has spent the last decade in England after initially joining Nottingham Forest in the summer of 1999 from Columbus Crew for £1.5million.
He went on to star for Birmingham City, Coventry City and Sunderland before being transferred to Southampton as part of the deal which saw Kenwyne Jones move to Wearside.
Newcastle United's former manager Sir Bobby Robson has died after a long battle with cancer. He was 76.
Watford will not offer permanent contracts to trialists Claudio Beauvue and Enrique De Lucas.