this needs a lot of consideration. with all the reviews and comments from others it's still better if you had the chance to drive test the cars and observe temperature, pressure, shifting quality, check the engine filler cap and look for sludge formation that indicates engine problem or check the service record/history if these cars are maintained well by the previous owners.
if i were to choose between the 3, i'd go for the M3.
goodluck and welcome to the forum.
_________________
W I N D Z
" Once is enough, Twice is too much, Thrice is a disaster. "
www.M-BenzForum.com