Swahn was een schutter gespecialiseerd in het schieten op een bewegend doel. Tijdens de Olympische Spelen van 1908 won hij samen met zijn vader met het Zweedse team de gouden medaille op het onderdeel lopend hert enkelschot team mannen. In eigen land in 1908 verdedigden vader en zoon met succes de titel op het onderdeel lopend hert enkelschot team, op het individuele onderdeel volgde Swahn zijn vader op als olympisch kampioen. Door de olympische titel met het team werd zijn vader de oudste olympisch kampioen aller tijden, dit record staat in 2022 nog steeds. Tijdens de volgende spelen acht jaar later won Swahn twee medailles individueel en samen met zijn vader en de Zweedse ploeg een zilveren medaille.