I will tell you how to build a succesful team for story mode. Please don't use this on showdown, as it's quite based on exploiting the AI. It's also thought for gyms and that sort of boss fights, you don't play this way against regular trainers. Basically, you will have two types of mons, supports and setup sweepers.
These would be examples of supports I use in my game:
Basically your objective is to bring a support in front of the enemy pokemon, and create a good situation for a sweep. For example, bring Pachirisu against a physical attacker, paralize it and give it -6 attack with charm, or Roserade can set seeds and use the recovery from Black sludge and Leech seeds to survive long enough to set the entry hazards. This is only possible because the AI hardly ever switches.
Then you bring a setup sweeper. I use these:
This is a funny combination of support and setup sweeper. Basically the idea is that you setup swords dances, speed boosts and a substitute and then baton pass everything to a powerful pokemon like Metagross.
This always works.
From the pokemon you have, Lucario can be a powerful sweeper with swords dance, close combat, bullet punch / extrme speed..., although notice that you might be outsped by faster pokemon as you don't get any speed boost, and prority moves are not too strong. I like Dragon dance Moxie Scrafty a lot as a setup sweeper, and it definitely is a very good one. Nice natural bulk and powerful stab in HJK. I would definitely use it. Curse Snorlax can also be an opton, but you need to breed curse because it's an egg move. If you want a special attacker, Gardevoir can be a good bulky sweeper with Calm mind.
For supporting, Trevenant learns both Will-o-Wisp and Leech seed naturally, which is awesome. Leavanny can set Sticky web, which turns slower pokemon like Metagross and Lucario into awesome sweepers. That should give you enough to start with.