Compile a team according to the following formula
x3 pokemon: Defensive core, three pokemon with solid defenses and typings that cover each other's weaknesses well. Usually include a Steel type and a Water type in this mix. One example of a defensive core would be Zapdos/Steelix/Jellicent (I don't really advocate using Steelix, but you get the general idea). These pokemon don't need to be 'walls', just need to take hits from threats and either stall them indefinitely, or force them out.
http://www.marriland.com/tools/team-builder#0|0|0|0|0|0|is a decent place to get a good look at what sort of resistances you're packing.
Then you work on offenses. Usually you'll want one setup sweeper and one no frills bruiser who can throw around big damage numbers without setup Good setup pokemon include most of the pseudo-legends, but there are a lot of options, look at Smogon sets for some examples. CM Espeon with magic bounce is particularly annoying to deal with because it's fast and you can't roar it out. Also wonder skin+flame orb+cosmic power on Siglyph is legendary.
For a bruiser, you want something that will smash holes in enemy defenses, ideally something that will kill whatever walls your chosen setup sweeper pretty easily. Lots of pokemon fit this bill, Scizor is a classic, who also has STAB technician priority and technician pursuit which gives him a lot of utility in cleaning up as well. Gengar is also retardedly good at this role, especially if megas are allowed due to shadow tag turning the dance of prediction into a no brainer, just send him out against something that can't kill him and destroy them.
The last slot is usually up in the air when I build teams. If I'm going defensive, I usually throw a defensive support in there. For offensive teams I usually have a second bruiser, sometimes a baton passer/secondary setup sweeper.