Dude, there are two reasons why a guy can't get an erection. One is physical (Erectile Dysfunction) and the other is psychological. If you don't have any problem getting fhard for masturbation or oral sex, then it's definitely psychological.
I think you subconsciously know you're not ready for the responsibilities of intercourse. That's a good thing. As the others have said, it will come with time. Just because your body can get an erection and ejaculate doesn't mean your mind is ready for it. I'm really glad you both recognize this and have decided against it. It shows signs of maturity.
As far as the oral sex goes, a lot of guys say the same thing you do. The sensation isn't what they thought it would be. It could be that you're not relaxed, your partner isn't experienced enough, a lot of things.
Don't spend so much time worrying about performance. Use this time to relax and learn how your body (and hers) works. I guarantee if you do you'll have a very satisfying sex life when you're older.
Be patient. You are still maturing. Some people need more time to ejaculate, others need such a short time. You will learn what your body can do. I really like the idea that you are not having sex. One of the greatest gifts one can give his future wife, is that he has saved himself for her. Much more valuable than some diamond ring.
You are playing around with fire though, and eventually you will give in. Wish I could talk with you across the table.
flaDUDE put it best. Just give it time my friend. If your dilema stays the same later in life see your doc about it. Other than that i'd say your fine. God bless
Probably not what you want to hear, but your sex organs are telling you something: wait a few years as there's no rush, giving yourself time to develop both mentally and physically. Your "plumbing" will work better at that time.