All three have their own niches, but I feel that Barbaracle is the superior of the three.
Lets go through their niches:
Relicanth: Rock Head+ Head Smash calls for some good wall-breaking potential, but Relicanth offers little other than that. Held back by lack of a good boosting move, being vulnerable to all entry hazards while having a terrible speed also hurts.
Carracosta: This Pokemon has access to Shell Smash, which is one of, if not, the best boosting move in the game which sharply raises Attack, Special Attack and Speed at one go. Despite a horrible speed stat, Carracosta has access to priority in Aqua Jet to somewhat mitigate its poor speed. Lack of good coverage moves hurt though.
Barbaracle: It also has access to Shell Smash, has a better speed stat than Carracosta, despite having no priority, while it has a Tough Claws boosted Cross Chop to destroy Ferrothorn who walls his STABs. Overall is a dangerous Pokemon if you can find an opportunity to set up.
Weigh the pros and cons, and make your decision :)
I am leaning towards Barbaracle for the sweeping category though.