Consider what your motive is.
If you're trying to beat a friend, then you need to build a team specifically created to counter his/hers. If you're trying to make a team for competitive battling, then you need to make a team that can go through anything. If you're just bored, or want to do it for the sake of having a team, then consider sticking to your favorites.
Research all the Pokemon and the moves you may want through a site like serebii or bulbapedia.
If you cannot obtain the Pokemon you desire in you version, use the GTS to trade for them. (Unsatisfactory stats or moves of the pokemon you traded for can be solved with breeding once you are done planning everything out. Remember that to breed with a male pokemon and keep the same species, the female needs to be replaced with a ditto. Also make the ditto the same nature of the pokemon your breeding. Please people, it helps. A lot.) Also when you breed, they just might be born with their parents' moves. I hatch a pidgey that new fly at birth!
Choose your pokemon.
If you're trying to beat a friend, then try to use pokemon whose types are super-effective against his/hers. Also try to make stratagies that can counter your friend's. IE, if his main pokemon is a snorlax who tanks, consider sub-punching it. All teams should have a high type variety, usually with no more than two pokemon of the same type. This not only means mixing type, but also physical and special users as well. However, if you plan on baton passing nasty plot or swords dance, having more of one type of attack than the other will broaden your options a bit. Choose whatever type you want if you don't plan on battling. Also get pokemon that you like in that type group. Don't pick jynx for your psychic or ice type. Nobody likes jynx.
Choose your pokemon's moves.
Be sure that the moves that you're assigning are moves that are possible to put on it. Try to have your pokemon support each other. For instance, having a pokemon with Cosmic Power and Baton Pass would greatly help support any tank or staller. Also give your pokemon a variaty of moves, mix up the types. Don't give your electrivire all electric attachs. Teach it focus blast and flamethrower. That's right, flamethrower. It's possible, trust me. My shocker knows it.
Check your team for weaknesses.
If you see that half of the pokemon have a weakness to one type, then change a pokemon. Simply giving your pokemon a water move will not protect it from gallade's fire-punch, so don't think that changing the move set will give you protection. You'll end up wasting a move slot and not fixing the problem.
Catch or trade for the pokemon.
You're past all the planning, but don't automatically think that the hard part's over. several of each pokemon Breed as many of the pokemon you want. I suggest two-four would be enough. Train each of them with a completely different types of moves from the others for different battle situations. Also breed what is more reliable or needed. Example: You don't have enough fire types, but you have a male kindra and a female charizard with the same nature. (hint, hint.)
Use the Exp share during early levels.or get the power items (eg. power bracer) or the macho belt and EV train.
Beat the Elite Four many times.
They are the biggest source of experience for higher-level pokemon (as well as the biggest source of money!).
Train some of your pokemon to level 100.
This may not be possible, but you really, really need to. It is great help with exp. training.
Take your time and have fun.Having the best pokemon team in the world won't be worth it if you haven't