Swahn ble olympisk mester i skyting under OL 1908 i London. Han var med på det svenske laget som vant lagkonkurransen med 86 poeng foran Storbritannia med 85. De andre på laget var Arvid Knöppel, Ernst Rosell og sin far Oscar Swahn. Det var kun to lag med fire mann på hvert lag og konkurransen ble avviklet 11. juli 1908. Fire år senere, under OL 1912 i Stockholm, vant han to gullmedaljer, både individuelt og i lag. Åtte år senere, under 1920 i Antwerpen, vant han to sølvmedaljer, han kom han på andreplass i bak norske Otto Olsen og i lagskyting løpende hjort, dobbeltskudd. Han var også med på det svenske laget som kom på tredjeplass i lagskyting trap. Under OL 1924 tok han tre medaljer, en sølv og to bronsemedaljer.