Like Onyx already pointed out, many things affect on who are the best NPC's for
your game.
Some NPC's cannot stand each other (like Jaheira & Xzar for example), so you have to take that into consideration, too. But those conlifcts between NPC's make the game more vivid and "real". Also, some NPC's refuse to be separated (Minsc+Dynaheir, Khalid+Jaheira, Xzar+Montaron) which also influences on the choosing the party. You'll have to weight their pros and cons carefully.
I've usually play as good aligned character, which influences my party. Here's my usual choices for different roles.
Killing mahcines:
IMO ranged weapons work really well in BG. Coran, with dexterity of 20 and proficiency with bows, is really good archer. Though you'll get him only in the 5th chapter (?!? I guess), so you'll might want to have Kivan before him. Fortunately there's two good bows in the game so I usually end up having both in my party.
Tank:
Ajantis makes a good tank if you give him gauntlets of dexterity. Khalid could become great swordsman with advanced weapon proficiency, but his lack in strength can be compensated only after you reach Baldur's Gate. Minsc won't lack strenght, but pretty much all the other stats. Especially his lack in Int. shows in the way he talks with his pet rodent

(which of course gives him tons of personality)
Wizard:
Dynaheir has intelligence 17 so I'll usually choose her. That and because of the fact that other mages early in the game are either evil (Xzar, Edwin) or annoying (Xan)
Healer:
Jaheira early in the game, though later there's options (for example Yeslick). Jaheira would be good all-around-character, but it's hard to find a good weapon for her.
Thief:
Often my PC is thief (or fighter/thief), so I don't usually need another. But if i'm not thief myself, I have Imoen by my side. After all, we have long history together, and she can always be trusted
