Né à Moose Jaw en Saskatchewan, il est le fils de Donald Swenson et grandit à Baildon(en). Il étudie à l'Université de la Saskatchewan et à l'Université de Regina. En 1976, il crée la Wheaton Bee Farms, spécialisée dans la production de semences de graines de luzerne. Il s'implique également dans la Baildon/Moose Jaw Effluent Irrigation Project.
Élu député à la faveur d'une élection partielle le , cette élection est déclenchée en raison des accusations de meurtre contre son épouse du député sortant Colin Thatcher. Pour pouvoir se présenter, Swenson dû concourir à l'investiture contre Lyle Stewart qui était l'ancien assistant de Thatcher.
Réélu en 1986 et le Progressistes-conservateurs conservant le pouvoir, il entre au cabinet du premier ministre Grant Devine en servant en tant que ministre de l'Énergie et des Mines et ministre des Affaires indiennes et métisses. Swenson étant réélu en 1991, il siège désormais dans l'opposition. Lors de la démission de Devine le , il devient chef intérimaire du Parti progressiste-conservateur et chef de l'opposition officielle. Occupant cette fonction jusqu'au , il annonce ne pas vouloir se représenter en 1995 et c'est le libéral Gerard Aldridge qui le remplace[1].
En 1997 avec la plupart des députés progressistes-conservateurs et quelques députés dissidents libérals, ils fondent le Parti saskatchewanais à la suite du scandale créé par la course à la chefferie progressiste-conservatrice ayant conduit à l'élection d'Iris Dennis. Lorsqu'il est clair qu'Aldridge demeure avec les Libéraux, Swenson tente de se représenter en 1999. Néanmoins, il est défait lors de l'investiture par Lyle Stewart.
En retrait de la vie politique, il revient en 2006 alors que les Progressistes-conservateurs annoncent un plan pour relancer le parti après plusieurs années à concourir avec des candidats poteau. Devenu chef du parti, il ne parvient qu'à convaincre quatre autres candidats pour les élections de 2007. Néanmoins, Swenson termine quatrième dans Thunder Creek. À nouveau candidat en 2011, mais dans Moose Jaw North, il termine troisième d'une course de quatre candidats. Il retente à nouveau sa chance en 2016, mais toujours sans succès.
En , il quitte la chefferie du Parti progressiste-conservateur[2].