The team announced the roster move on Tuesday, with the defending World Series champions sitting in last place in the American League East at 6-11.
In 12 games, Swihart hit .231 with one homer and four runs batted in. He struck out seven times in 26 plate appearances.
Swihart beat out Leon for the backup catching spot in spring training. Leon was not claimed and accepted an assignment to the minors.
Last season, Leon played in 89 games for the Red Sox. He hit .177 with five homers and 22 runs batted in.
The Red Sox have the 28th worst ERA in baseball at 5.93, and hope that having Leon behind the plate will help lower that number.
Leon came into 2019 with a 3.51 catcher's ERA since 2015, the lowest mark in the American League among players with 100 starts at the position.
Leon is to be in the lineup Tuesday night against the Yankees in New York, hitting eighth and catching for ace Chris Sale.
Leon has caught most of Sale's games the last two seasons, helping him last season amass 178 strikeouts over 110.1 innings.