I actually think Mass Effect 3 has the best cast. ME2 has a lot of good characters but some stinkers as well. The only change I'd make to ME3 is keep EDI as the ship AI and have Miranda take her place (due to Cerberus' role in ME3, Miranda deserves a bigger role).
Liara: Biotic
Garrus: Soldier/Tech
Tali: Tech
Vega: Soldier
Javik: Soldier/biotic
Miranda: tech/biotic
It works out. Of course this also supposes Javik isn't DLC, which he shouldn't have been.
Anyway my list:
Best: Mordin, Tali, Garrus
These are characters that represent real growth and evolution of priorities and beliefs over the course of the trilogy. They are self-aware, contemplative and reflective, humorous, likable, basically anything you could ask for in a BioWare character.
Great: Javik, Wrex, Legion
These are characters who bring interesting perspectives to the narrative and in some way greatly enhance the larger subplots of the series. EatChildren explained above my view on why Javik is so essential to ME3, but I don't agree with the notion that Legion is lame in ME3 for several reasons. For one, Legion in ME3 is presented as a flawed character. He lies, manipulates, and is evasive. It's a natural evolution of how a machine might come to exhibit certain individualistic tendencies, which was the main question of his character in ME2 (see: loyalty mission). It's clear that, like Mordin, his view on how the geth might evolve has altered. Before, he took a hardline stance that any sort of help from another race was undesirable, and that the geth would find their own path. While some found this praiseworthy, I thought it was kind of dumb and analogous to those who believe the mass relays needed to be destroyed because they are evil. Technology, all else being equal, is a neutral force, and in recognizing that his race would be wiped out without using it, Legion decided to go for what he considered to be something beautiful anyway.
Good: Liara, Vega, Grunt, Thane, Samara
Alright: Kaidan, Ashley, Jacob, Jack, EDI, Kasumi, Zaeed, Miranda