By which I mean, how dark do you like them? Or do you prefer a noble knight in shining armour?
I have to say I love the two extremes, both the dark and twisted Bad Boy with a heart of gold. Or no heart perhaps. And the Noble Warrior can be good to read, to remind you that actually humans can be quite nice sometimes.
For me it all comes down to sympathy. A bad guy can become sympathetic if handled correctly (see my Magneto Effect post) and a good guy can seem like an insufferable prig if handled badly.
The trend just lately seems to be for darker, more twisted and flawed heroes.But just where is the line between 'flawed but sympathetic' and 'readers hope he dies by the end of the book'. Or for your Goody Two Shoes, at what point does the reader stop rooting for him and start wanting to strangle him?
When he's no longer sympathetic, and when he's no longer struggling. In these two scenarios, that point may be something very different - when the bad boy does something reprehensible, if you've set it up right, it can still be sympathetic (there may be limits in this. Only a genius can get away with making an unrepentant - or even repentant - rapist that still keeps reader sympathy). What is setting it up right? Well, that depends. It could be that what he does is the lesser of two evils. That he struggles to do the right thing and fails. Or maybe there just is no other sane choice. I think that sympathy is lost when a character chooses to do his reprehensible thing when he need not, and/or he doesn't care about the repercussions, how it will affect anyone else. I am probably not the only person who loathed Thomas Covenant for raping a girl - he didn't have to, he chose to and to hell with the consequences. That he thought he might be hallucinating is some mitigation, but even so, he still chose to do it.
For our Good Guy, it can be more complicated. One way that works well is to have him struggle with his nobility--it shouldn't come easy for him. Most people can identify with someone who wants to do the right thing but is tempted by the wrong. If he's Right and Good without effort, then he becomes boring and perhaps pompous.
Just to be contrary, my favourite type of hero is flawed, but will reluctantly do the right thing. Even if not for the right reasons.
But as long as there is conflict about what the right thing is, or whether/why he should do it, I think you're hitting the mark.