Hmm, not an easy question, because I think everyone has different expectations of a relationship and of a boyfriend. Which may be suitable to one woman can not be suitable to another woman...
Personnaly, I would say Spike, based on his relationship with Buffy and the way he acts with her once he has his soul. He's loyal, passionnate, he gives support, love, trust, respect, and doesn't expect anything in return. He has his own weaknesses, but keeps believing in the woman he loves, by giving her faith in herself. In despite of his attitudes as a rebel and sarcastic, he's a good man who follows his own motto. Even if he's not perfect (who loves perfection anyway ?), I think he's a wonderful boyfriend to the women he loves. That said, it depends of the quality of the relationship and the way they know each other, and the ability of facing the bad in the relationship.
Angel, I'm not sure that I would trust a guy like him. He's a good man most of the time, but I think he's unstable and I don't like his way of taking decisions for women who are supposed to be his equal...
Riley is a very nice guy, loyal, very respectful, but a little bit too quiet. This is appealing to some women, so this is not necessarily a bad thing, but it can be too boring to some other women on a long term relationship. But I think he can be really good to the woman he loves, which makes of him a good boyfriend. But not necessarily the most interesting one. It depends too on his way of dealing with things on a bad period in his girlfriend's life... His way of being in surface doesn't make everything in order to judge him as a good or bad boyfriend. Again, I think it depends of the relationship and the degree of emotional connection with his girlfriend.