like many mentioned, it's up to your needs
can't really compare the two in sporty characteristic perspective, because both are amazing at it equally.
If you need 4 seats and probably DD it, then get the M3.
If not, go for the Cayman. I do believe this new cayman looks a lot better than the previous one, and actually kicks ass than the 991 carrera