Swoobat to C+, Persian to C
Reason for this is that I feel Swoobat is a more threatening sweeper than Persian, so it shouldn't be a full ranking below it.
Comparison:
1. Swoobat sets up easier. The only pokemon that Persian easily sets up against is Misdreavus without Hidden Power Fighting, and even then it is annoyed by will-o-wisp. Due to its awful bulk combined with lack of resistances it needs to be at absolutely full health to not die of life orb recoil. Meanwhile, due to the nature of calm mind and its decent amount of resistances, Swoobat sets up easily against Gourgeist, Tangela, Pelipper, unboosted Ninetales, etc.
2. Swoobat has more longevity. Due to the ability to run Roost, it can heal up on weaker special attackers, and moves like Simipour's Ice Beam and even leftovers Regice Ice Beam are neutralized. Swoobat can even run a taunt + roost set that destroys pokemon that rely on status like Togetic. Persian's life orb recoil on the other hand, brings it down quickly, especially with smart switching by the opponent.
3. They are more or less equally easy to revenge kill. Swoobat is weak to Sucker Punch, but both of them die to sucker punch users anyway unless using substitute. Swoobat is revenge-killed by Ice Shard, which Persian isn't. However, Swoobat is not revenge-killed by Scarf Simipour and Floatzel due to special defense boosts.
Also, I would like to clear some misconceptions. It can be argued that Persian has more immediate offensive presence- but Swoobat is perfectly capable of running Psychic instead of Stored Power. In fact, I would even say that Psychic with Life Orb is the superior set, as this is an offensive metagame.
tldr: Swoobat is a bit better as a sweeper than Persian, and an underrated threat in general. It sets up easier, is better vs bulkier opponents, and is more versatile.