No interest in battling competitively so I'm sure people who do will disagree heavily with this.
I generally want at least one Physical attacker, one Special attacker and one mixed. After that I'm really not bothered; ideally it won't be too heavily weighted in either direction but I don't mind having 4 Physical as long as I've got some sort of Special capability in there. There's way more Physical attackers than Special in the Pokedex anyway (especially in B/W) so it's kinda inevitable.
Beyond that I always like to have a Fire-type and prefer to have a Water- and Flying-type for easy Surfing and Flying, although I'm perfectly happy to switch in HM slaves if my Flying-type is Special-based or my Water-type is primarily Physical.
Finally I generally find myself including Psychic, Ground and Fighting Pokémon, and always keep a few good Ice moves where I can.