With four characters and four player slots, the answer to the question of what the best team roster is should be straightforward. One of each character, right? Easy as pie. This was pretty much the case in previous games (well, the first Borderlands was often advantageous to have an extra mermaid or soldier instead of brick, but close enough).
Yet 3 has a much more open character-building paradigm, with each character bringing something to the table as a support, damage, or tank archetype, or a hybrid between those roles.
This means that rather than just saying you should have one of each character, you should instead have one of each role and then an additional damage-focused character to complete things.
This means that you may be leading Moze with a strong specialization in Shield of Retribution in order to attract enemy fire and protect his allies, while Zane provides healing through his Barrier gadget, and Amara blitzes his enemies using close range ground cartridges and shotguns, while Fl4k provides overwatch from afar. a sniper rifle.
In short, you want a significant difference in the roles, not the characters. A team of four Mozes works flawlessly, with two specified in Bottomless Mags, another Demolition Woman, and the fourth Shield of Retribution. This is a team consisting of two High Damage Specialists, one Great Crowd Control Specialist, and a tank that provides regenerating shields and damage mitigation.
It is true, however, that some characters gravitate more towards certain roles. Here's a quick breakdown of that:
Zane: excels at damage and support by having access to great raw damage boosters (mainly via the Hitman and Double Agent trees), while also providing invaluable team and healing assistance via the Barrier gadget and the Under Cover skill tree. He's not the best tank, as his damage mitigation is mostly personal aside from the Barrier, which can be used by the whole team.
Moze: Excellent at damage and tanking (literally). Demolition Woman and in particular Bottomless Mags deal massive damage. AoE for the former and single target for the latter, while Shield of Retribution offers great damage mitigation, both for itself and for the team, if they used Iron Bear as mobile cover. Moze is not a great support due to the lack of party-wide healers or healers.
Amara: Amara is excellent in damage and support roles. Mystic Assault is a key tree for both roles, with the majority spec being Brawl for damage and Fist of the Elements for support. Assault / Elements provides a lot of damage over time while also improving the speed of allies and mitigating damage in the form of shields and immobilizing groups of enemies. Rather, Assault / Brawl plays in a very mobile style of play with a focus on close combat.
Fl4k: Fl4k is excellent in all roles, although above all he excels as a damage dealer. Fl4k's usefulness through his different skill trees encourages him to choose the different trees widely, with the three damage increasing and health regeneration increasing to some extent. Stalker ensures group-wide health regeneration (augmented by the abilities of the other two trees), while the Master makes Fl4k himself a bit more petroleum. Both Stalker and Hunter are great at increasing damage in all kinds of ways. Combined with the utility of simply having an extra body on the pitch at all times, Fl4k is excellent in any team lineup.
In summary, a common and optimal team composition will likely consist of a support or damage-focused Zane, with a damage-focused tank or Moze, a support or damage-focused Amara (the opposite of what Zane chose) and a damage-focused Fl4k. with the talent of the All My BFF unlocked.
This provides good damage from all parties, with two to three primary damage dealers and one to two secondaries, sometimes a tank (the least needed role), and plenty of support abilities scattered around the team.