Honestly, both are amazing Pokemon, sometimes used as physical sweepers. Personally, I use both Shifty and Cacturne in a mono team on showdown.
For Shiftry, I use this set:
Shiftry (M) @ Lum Berry
Trait: Chlorophyll
EVs: 28 HP / 252 Atk / 228 Spd
Adamant Nature (+Atk, -SAtk)
- Sucker Punch
- Seed Bomb
- Fake Out
- Swords Dance
I use Shifty just like I use Ambipom. As soon as it gets in the match, depending on my opponent, I'll either fake out or swords dance. Once swords dance is active, opponents are going to find it very hard to resist sucker punch. On the downside, many people see the sucker punch coming and attempt to avoid it. Seed Bomb is there for amazing STAB+Coverage.
For Cacturne:
Cacturne (M) @ Focus Sash
Trait: Water Absorb
EVs: 252 HP / 4 Def / 252 Spe
Modest Nature (+SAtk, -Atk)
- Destiny Bond
- Spikes
- Giga Drain
- Focus Blast
While I've seen Cacturne used flawlessly in sand teams, I use it to set up spikes and then take an opponent down with Destiny Bond.
That's my sets for competitive.
Overall, Shiftry has a better move pool, and a stat total of 480. Cacturne is limited to grass, dark, bug, and drain punch with a stat total of 475. In my opinion, Cacturne is a good support, but Shiftry is a better sweeper