I usually tend to have 6 Pokemon + 2 HM Slaves.
My Team's Leader, usually my starter, is always my strongest Pokemon by about 5-10 levels.
My Team's Second-in-Command, usually either one of the first few Pokemon that I catch or the Pokemon (besides my starter) who puts in the most work throughout my playthrough, is my second strongest; usually 5 levels below my Leader and 5 levels higher than the rest of my team.
My last 4 main team members are usually about 10 levels behind my Leader and 5 levels below my Second-in-Command but are all pretty even with each other.
I try to be as diverse with my normal In-Game Teams as possible; always using these staple types:
Fire
Water (with an Ice type attacking move)
Grass/ Electric
Flying/ Dragon
Ground/ Normal
Fighting/ Psychic
I think that you should at least use 4 Pokemon with similar levels and diverse typings. That way, you have a balanced team that can be prepared for anything.