I think I have my calculations right. If I don't, then this doesn't work.
Frillish@Eviolite
Water Absorb
Calm Nature
252 HP / 4 Def / 252 SpD
-Substitute
-Protect
-Toxic
-Recover
Liepard@Leftovers
Prankster
Jolly Nature
4 HP / 252 Atk / 252 Spe
-Fake Out
-Substitute
-Protect
-Night Slash
So I'm basically trying to stall them out here. What I do depends on the situation. I'm in a rush, so I can't do a great explanation...
Samurott situation:
Switch in Frillish on a Water-type attack (Samurott will most likely use this because people like to use the most powerful move possible), and then use Toxic. Stall it out with Recover, Protect, and Substitute. Since Frillish is kinda light, Grass Knot won't do too much damage, and Ice Beam is resisted. Once Samurott is down, stall as long as possible using Frillish, and then bring in Liepard. It uses Fake Out, and then stalls with Prankster Protect and Substitute while Zangoose dies slowly due to Toxic.
Zangoose situation:
Switch in Liepard while Zangoose uses Swords Dance (argue all you want, any reasonable player would use this to prepare for a sweep...), and then use Fake Out. Then, alternate between Prankster Protect and Substitute while Zangoose dies to Poison. When Samurott is in, switch to Frillish on the Water-type move that it will most likely use, Toxic it, and stall with Sub and Protect. If Frillish goes down, bring in Liepard, use Fake Out, and then alternate with Sub and Protect again.
The Zangoose in question isn't the Swords Dance set, it's the four attacks version. Neither member of your core can switch in on Zangoose since unboosted Close Combat does 154.07% minimum to Liepard and Night Slash 2HKOs and has a 25% chance to OHKO after Toxic Orb activates. Moreover, if you fodder Frillish to get Liepard in safely, you can only sub+protect stall five or six times before you no longer have enough HP to continue doing so, and you can't stall out both Zangoose and Liepard before that happens.