I really think they're both just fantastic games. If I had to pick one it'd be Spyro 2 because I just have more fun with that game personally.
I can appreciate that they both have good and bad elements about them though. Mario has a pretty poor camera, and it does feel clunky in places. Especially during smaller levels like Big Boos Haunt, or when you're swimming. Swimming in Spyro feels so fluid, in 64 it's a bit of a chore to be honest.
But I think one big difference is that most of the time, Spyro really isn't a challenging game, most of the time it's not even a platformer. Sure you're jumping up ledges and exploring a 3D environment, but it's rare that platforming is the explicit source of challenge. It's a game that feels like it's designed for you to get to the end.
Whereas Mario 64 really challenges you to see if you can get the star on each stage. The peculiar thing about Spyro, is that it features occasionally really rather extreme difficulty spikes. Usually the chases or flying levels end up being much more difficult than the rest of the game, there's a notorious on-rails section from the third game that's a perfect example of this too. It just wants to do a few too many things at times, I think.
But there's something really satisfying about Spyro. I love how quickly you can move through the levels. The camera is pretty good and keeps up with the action. Flying and swimming both feel liberating, giving you almost complete freedom of movement. Smashing crates and collecting gems has a really good feeling. Mario has it's own style, with platforming systems that afford creativity with 'movement tech' but we have to be realistic, the average player, particularly when the game released, did not play these games like that.
So, I really like both of them, but for different reasons. It's cliche to say it, but they're apples and oranges really.