The 31-year-old Grand Slam winner was out of contract at Llanelli Scarlets at the end of the season and also attracted interest from Bristol and London Irish.
Taylor won his 49th cap after being called up at short notice for the RBS 6 Nations decider against Ireland in March and is a candidate for the captaincy on this summer's tour of north America.
Sharks director of rugby Philippe Saint Andre said: "The signing of Mark Taylor underlines our ambition to become one of the top clubs in Europe.
"Mark has played for Wales over the last 10 years and is one of the best centres in the northern hemisphere."
Taylor, who previously played for Pontypool and Swansea and toured Australia with the Lions four years ago, also considered a move to France.
But the player said: "The talent and pace of the Sale Sharks back line was something I was very keen to be a part of - the prospect of playing alongside Jason Robinson, Charlie Hodgson and two of the league's best wingers in Mark Cueto and Steve Hanley is very exciting.
"The management team and set up at Sharks impressed me and I hope very much to become a key part of a side that has the potential to challenge for the top honours."