I prefer Spike.
Angel has this really irritating habit of trying to control the ones he loves. When they fail to meet his ideal, he stops loving or respecting them. He leaves Buffy - voluntarily and without giving her a choice in the matter - as a means to force her "into the light." He wants her to be a happy girl, a happy mother, a woman who walks forever in the sunlight, but he completely ignores who she is -- and that's the much messier Slayer. He stays on the periphery of her life. He loves her from afar. But it never occurs to him that instead of trying to force her to change to suit his ideal version of what she deserves, he could change himself to try and give her what he thinks she deserves. He sees leaving Buffy as a noble sacrifice. The problem is that none of this has as much to do with loving or respecting Buffy as it has to do with Angel trying to mold the world to suit his own self-image. Angel has got some serious control issues that undermine all of his relationships, not just this one. If it weren't for the curse, I'm willing to bet that those control issues would still undermine his relationship with Buffy. Basically, they faced the worst in only one partner and found out that they couldn't make it. And Angel has never been open to the idea that there might even be a "worst" to Buffy. I don't know how that relationship could ever last once the euphoria wears off. And no sex? Definitely a barrier.
Now let's look at the competition. Spike, post-soul, respects Buffy. He fights on her side because he's seen the best and worst in her and he loves the complete package. He does this without the expectation of anything in return. He is cautious about growing closer to her. Because it was so disastrous the first time, he is afraid of going there again. He loves and respects her no matter what, even with all of the bad blood between them, even when everyone else fails her, and even to the death. Spike goes in with his eyes open. He doesn't try to make her what he thinks she should be. He doesn't balk too much at the Angel thing. It's part of Buffy. It's her past. He respects it. Basically, he tries to make himself into what she needs and deserves. For him, she's the one. It's all about what he can do for her, not how she can change or grow to fit into his neat little worldview. In the end, they fought side-by-side and supported one another emotionally. Given time, that could have grown into a very successful partnership. They've faced the worst in each other. They did it together. They came out stronger. They've proven they can last when times are tough. And the sex? Smokin'. Definitely a bonus.