There is no best team actually. Do you use your team for wi-fi battles? Well, Some people prefer legendaries in your team. But not me because my pokemon are strong enough to take down even a team of legendaries!
Also, try to create a team that has at least one or two pokemon that are good to each type. (for example, two pokemon good againest ground types, another two pokemon good againest electric types.)
Next, you won't want a team that is weak againest lets say fire types. Whats the point of building a team full of grass type pokemon where they all can be trashed by a team of fire pokemon?
Having a good moveset in a pokemon is the key factor to winning a battle. You won't want to have an Alakazam eqiupped with Iron Tail right? You would definetely teach Alakazam Psychic instead of Iron Tail since Alakazam's special attack is really high.
Try to raise a pokemon from Level 1. That way, that pokemon would be stronger because of it getting more exp. Thats why if you are building a team for the wi-fi battles, you would want catch the lowest level pokemon so that it would be strong.
Without a Sweeper in your team, you can kiss goodbye to your team. They are very important, a good sweeper would be Alakazam. BUT, You would want to include a wall pokemon too. A good wall pokemon would be Dusknoir.
Finally, train your Pokemon to level 100 so that you can be ready for wi-fi battle
These are the key factors to building a good team.