I dislike limitations, so I'm going all out.
1. Garrus - The best bro you could have, stuck with you from day 1 (though he wasn't nearly as interesting in the first game), and provided the powerful Overload to a player who generally was not interested in technical powers. He is the best friend you could possibly ask for.
2. Wrex - A different kind of bro, but just as awesome. He had the best lines from ME1 and his arc in bringing you the genophage cure brought a smile to my face with how grateful he was. He is awesome.
3. Mordin - His personality was as amusing as his moral conflict was deep. Everything that came out of his mouth was pure entertainment, and while the genophage is a very grey moral dilemna. I'm glad he found closure at ME3 (which is more than what most of us got)
4. Liara - Mai Waifu. She isn't so much as deep as she is just very likable. Her naive, shy personality in the first game turned much harsher in the second and third, but some of the things she did were still very touching (like that entire scene where she wants to store the memory of Shepard)
5. Samara - She comes across to me as a very wise figure and a very conflicted woman. Having to hunt down and kill the daughter she still clearly loves and while being forced to choose between what she wants and what her code dictates was a very interesting story to play out, even if I wholeheartedly disagree with the code itself. Fascinating character to spend time with.
6. Legion - Legions is kind of cheating because by looking at him, we're not looking at him alone but looking at all Geth. Still, this window that he provided into their culture rocked many a world, turned a stereotypical AI gone rogue enemy into a pretty fascinating insight into the idea of consciousness. He was also hilarious.
7. EDI - Her progress from emotionless AI to a living consciousness is an interesting one. Much like Legion, she turned the AI gone rogue trope on it's head. I had thought that it went as far as it should in ME2, but they decided to take it even further in ME3, which at times worked really, really well....most of the time. In any case, a thoroughly entertaining character.
8. Grunt - Very fun character. His entire introspective journey into trying to figure himself out endeared me to his character. He's such a child in so many ways, and I was glad to help him grow up because he is going to be the perfect Krogan and the example that all other Krogan model themselves after.
9. Kasumi - Can't say much about character depth, but I really like her upbeat personality and there's something about her voice that's just irresistibly charming.
10. Thane - He's a very low key character that I didn't initially care for, but I ended up enjoying his story of how he met his wife and his struggles to reconcile with his son. The prayer he gave on his deathbed was heartfelt.
11. Ashley - People seem to hate her for being spiciest, but that is really selling her character short, imo. It goes deeper than that. And I enjoy her connection to family. She's an enjoyable character.
12. Jack - I know a lot of people dislike this character and I can understand why in some cases, but I thought she was a great addition to the cast if only because she is the result of what happens when the very worst of all that is in the ME universe happens to her. Some say that she was out of place, but I would argue that's the point, and trying to heal her deep psychological wounds was great character development for her, especially when you see what she's up to next game.
13. Morinth - Most people probably never got this character, but I found her fascinating. She's an utter monster, but it's not like she chose to be that. Her rebellion against being put in the monastery are perfectly understandable and I'd think any one of us would do the same in her position. But she is still a monster all the same, hurting people indiscriminately and loving it.
14. Tali - One would think she'd be higher up on the list given her popularity, but I guess I just never liked her as much. Also, she died in my ME2 run, so I saw none of her in 3. She probably would have been higher if not for that, she didn't make as much of an impact for me.
15. Morinth - Most people probably never got this character, but I found her fascinating. She's an utter monster, but it's not like she chose to be that. Her rebellion against being put in the monastery are perfectly understandable and I'd think any one of us would do the same in her position. But she is still a monster all the same, hurting people indiscriminately and loving it.
16. Miranda - DAT ASS. And I'm not even an ass guy. I also relate to her very well regarding controlling parents and being able to take credit for your own accomplishments. Still, for whatever reason I never found myself particularly attached to her character. However, I did think her confession about her guilt was really nice in ME3. I almost wish I saw more of her now.
17. Javik - I didn't like him for the majority of the game. He was just a dick. Which would be fine, but he's wasn't a clever dick. He was so one note and predictable. Every solution is "kill it". Still, at the end, he mellowed out and I started liking him more, so there's that.
18. Zaeed - I enjoyed his war stories. Shame he wasn't more interactive.
19. Kaiden - His character actually isn't that boring, but the voice actor sure goes out of his way to make it seem so.
20. Vega - Actually is boring, but his voice actor makes him seem better than he is by interacting with better characters.
21. Jacob - I don't know, I fell asleep whenever I talked to him.