Played all three, so here we go.
1+ Garrus. Garrus was a top boss throughout all three games. Insanely loyal, useful skills, and was basically shepard as a Turian. Me and Garrus had a bromance (like Turk and JD from Scrubs) going as my main Shep, we was like a sniper tag team. I understand why everyone likes him too, since he is a TOP don. It is impossible not to respect his ruthless idealism and vigilantism, and it is impossible to not understand and partially agree with every word he says. Truly hilarious conversations. Great character, fantastic development.
2+ Walking into a minefield here, but I'm going with Ashley. She had such a good character, really well fleshed out by the writers. If you delved deep enough, you really understood why she had trust issues, particularly with aliens, and found out the macho-joky attitude is put out because she's lonely and feels she's never going to amount to anything in life. She really isn't a racist. She appears to have prejudices at first, but if you see her gunning for the Terra Firma leader, you really don't think she's racist afterwards. Plus, she also has a good development arc. Is very irritating when you see her in ME2, but sorta makes up for it in ME3.
3+ EDI. She was just hilarious, so many of her conversation options. One of the best character arcs, extremely entertaining all round. EDI was great in combat too, and, I also have to admit. Even though she was a robot, she was one hot robot. Still, that last bit was an added bonus. Had about 8 other candidates for this though, great characters.
On the other end of the scale:
1- Morinth. Honestly not sure why anyone would EVER pick her over Samara other than to just see what she's like. Has poor development, is just downright unpleasant and evil. I chose her once and regretted it for LOOOONNNNG after. And I think Samara is boring anyway. And Samara is infinitely more useful in combat. No enjoyable conversations, few enjoyable encounters.
2- I found Grunt utterly unmemorable. More so than regular punching bag Jacob. There were a lot of places they could have gone, but they didn't. He was just a moron who sprouted the same sentence about being worthy every ten seconds. Still, perhaps a little bitter about how he was the one who replaced Wrex.
3- Going with popular trend here on Jacob. He had about no character development in the entirety of either game. I never understood his motivations, or ever really felt like talking to him was helping me get to know him. Also found him very hard to believe. Everyone in my squad is safely guaranteed to be a stone-cold killer deep down, and Jacob was the only one who I couldn't see this with. He just came off as not the kind of person who would kill the way everyone else did in my crew.