The bonus-point win puts Perpignan back into contention in Pool 5 - level on points with the Dragons and seven behind the Newcastle Falcons. Scrum-half Gareth Cooper was under early pressure and was forced to concede a five-metre scrum as the vociferous home crowd began chanting for their team - a chant that was rarely absent during the next 90 minutes.
The Dragons crept up offside in their eagerness to quell the early assault, but the French team ignored the likely three points and kicked for touch. The move paid off when they drove their way over the Dragons' try-line, and TV official Brian Campsall gave the home side the benefit of the doubt to award backrower Gregory Le Corvec the five-pointer.
Fly-half Nicolas Laharrague - replacing first-choice standoff Manny Edmonds - showed no sign of nerves with a quality conversion.
Key Dragons player Percy Montgomery was clattered in a week-late tackle from Le Corvec, and Sweeney's penalty goal sneaked over the bar to get his side on the scoreboard. The Dragons were immediately on the back foot, however, when a long throw-in on their own line was fumbled by skipper Michael Owen. The forwards hammered away at the visitors' line but it was the smallest man on the field, scrum-half Nicolas Durand, who found a gap to burrow over for his side's second try.
It was only a matter of minutes before they had their third - a close-range effort from former All Black backrower Scott Robertson - and things were looking bleak for the visitors as Laharrague's conversion took his side past the 20-point mark.
Sweeney stemmed the tide with two penalty goals as the Gwent region clawed their way back into contention, and a clever chip from winger Gareth Wyatt gave his side their first sniff of a try, but Montgomery spilled a straightforward pass.
The home side's poor discipline gave Sweeney another chance on the stroke of halftime, but it went wide and Perpignan led 21-9 at halftime.
Laharrague extended his side's lead with a penalty goal, and a Sione Tuipulotu high tackle on the Perpignan fly-half allowed him to bang over another one a minute later.
Montgomery missed another attempt from near the halfway line, before TV referee Campsall was called on again as Perpignan hooker Jan Van Den Heever muscled his way over from about four inches. Campsall took several looks before awarding Perpignan their bonus-point try.