My ex took him a month after me to go behind my very good friend that I trusted with me telling her that I gave him my virginity and that I was even pregnant. True guys take months. But immature assholes take weeks..
3 years is pretty safe, but some heartbreaks haunt you for the rest of your life. Such men may be OK to date or marry, but part of him is forever gone. You will never be "the one who got away", but you can try and be better in which case he will have found inner peace because he needed to go through that suffering to be rewarded with you.
Depends on the guy, and depends on how strong the feelings for his girlfriend (no ex) were. I personally have needed less than 2 weeks in all of my 5-6 breakups. But I'm someone that can move on pretty fast, not everyone is like that.