I think that Spike did something with Joyce that Angel never did. He showed her that he had real emotions and that he wasn't afraid to show them, even so far as to cry about Drusilla leaving him. Angel might be just as emotional as Spike, but, just looking at him, you are hard pressed to recognize his emotions. Spike celebrates or grieves whenever appropriate, and he does it openly. If Angel experiences a sad situation, he locks himself up in a dark room and broods. If he experiences a happy situation, he locks himself in that same room and broods about what's going to happen when the happy moment ends. That's something of an exaggeration, certainly, but the point is, basically, the only one who ever saw any real tender emotions from Angel while he was in Sunnydale was Buffy.
Joyce might not have seen Spike as a suitable boyfriend for her daughter (almost certainly didn't, in fact) but she didn't see Angel as being one bit more suitable.
Both Angel and Spike had at one time tried to kill Buffy, so they were on equal ground in that area. The inescapable fact is that Spike is just more charming and likable than Ol' Broody, and Joyce is a sucker for a charming man.