The 23-year-old trained with Pompey for the first time on Tuesday before finally completing the move on Friday morning, and is in line to go straight into namesake Steve Cotterill's squad for Saturday's home clash with Barnsley.
Cotterill has failed to appear for the Swans since their 2-1 defeat at Leicester on January 3 after falling behind Scott Sinclair and Nathan Dyer in manager Brendan Rodgers' first-team plans.
Swansea paid Sheffield United ?600,000 for Cotterill in January 2010 following an initial loan spell at the Liberty Stadium.
The Wales international began his career at Bristol City before Wigan paid the Robins ?2million for him in August 2006.
Source: PA
Source: PA