I'm more of a Bangel shipper, but I must say that Spike later becomes the better boyfriend in season seven, he is going to extreme lengths to become a better person for her, working hard to improve himself for her, and becomes her steady rock, supporting her without any expectations and his speech to her in "Touched" about how he loves her for what she is rather than what he wants from her is really touching and beautiful.
In seasons five and six though, Spike is very problematic, with his stalking, kidnapping and abuse and I think they never properly dealt with his attempted rape of Buffy, which deserved more exploration in season seven. I'm not opposed to a redemption narrative where a rapist can become a better man if he really tries hard enough to be worthy and to be a better man and make amends, though my general stance on rape is that it is unforgivable and that rapists are garbage. In this case it's also very icky and questionable, as he basically turns into a viable love interest without them tackling the attempted rape heads-on, but it does make for a better story to deal with how a remorseful guy deals with the horror he was capable of rather than just make him an one-dimensional villain.
As far as shipping goes, my heart will always remain with Angel though, but I must say, looking back at it now, I see Sarah's and David's fantastic chemistry, but Buffy's and Angel's relationship feels a lot emptier to me. I don't feel like there is all that much that connects them and Angel in itself is a far more boring character, at least on Buffy.