Man, picking between Garrus and Mordin is brutal. Mordin is a stellar character from the beginning while Garrus really evolves over the course of the series into one of Shepards main confidants.
Have never had much fun playing Witcher or Witcher 2, as they are very slow and boring to get into, and lacking in interesting characters as a whole. I'm sure there are great characters, environments, etc. later in the games, but CD Projekt Red does a shitty job of getting you invested in the world quickly and it simply takes too long to develop a connection to the universe.
I think Garrus has to get the nod because he is a key fixture throughout the ME series.