Media playback is not supported on this device
The Welsh club rejected an initial bid of £6.2m for the winger but the Premier League champions included add-ons, taking the fee to £8m.
Sinclair, 23, recently played in the Olympics for Great Britain and could now be in Roberto Mancini's squad to face Queens Park Rangers on Saturday.
"I'm just glad everything is settled and I'm now a City player... I can't wait to get started," Sinclair said.
"There were times when I thought it might not happen so I'm relieved that I'm here.
"Playing alongside some of the best players in the world is exciting for me. When you see two Champions League fixtures against Real Madrid on the horizon, it brings it all home."
Swansea boss Michael Laudrup said: "Scott is going to a huge club with a lot of great players. He has a lot of quality but he will have to fight for his place in the first XI."
Sinclair is a former England Under-21 international and began his career at Bristol Rovers before joining Chelsea.
But he struggled to make many first team appearances at Stamford Bridge, moving on loan to Plymouth, QPR, Charlton, Crystal Palace, Birmingham and Wigan before Swansea paid £500,000 for his services in August 2010.
Sinclair made 82 league appearances for the Swans, scoring 28 goals.
He scored within four minutes of coming on as a substitute during Swansea's 5-0 win at QPR on the opening day of the Premier League season.
Manchester City have signed Swansea's Scott Sinclair on a four-year deal.