The key to throwing a good forehand is having good wrist snap. This video shows how you should be snapping your wrist and how with good snap, the disc will have good spin and will have a smooth flight.
What factors are involved in becoming a good thrower? Obviously you need to have a lot of practice. But is there more than that? I believe that there are 2 elements to becoming a good thrower: determination and the ability to be coach-able.