Top spin is your main issue and the worst reflex you could have is to try and increase the increment of your swing path prior to ball contact. From the furthest point of your take back, up to contact, the angle at which you swing does have an impact on spin production, but contrary to common beliefs, it is only marginal... Usually, as current researches revealed, doing this tends to do one thing: it increases the launching angle of the ball -- that is, the more vertical your swing prior contact, the more vertical the ball flies.
Spin isn't about moving your racket... It's about accelerating the edge of the ball. Top spin is forward eccentric (off center) acceleration -- the top of the ball moves forward relative to its geometric center. To achieve this feet, top pros revert to two very simple tricks. Trick number one: they tilt their racket forward. It might seem silly, but place a ball on a table and see how a racket could hit the top while still hitting the back of it. You need to tilt it. Trick number two: they hit off center -- closer to the bottom edge for more top spin, closer to the upper edge for less top spin. (Of course, we're assuming the racket is more or less parallel to the ground as in any ground stroke.)
Generating spin is your number one problem; your second problem is to control the ball... but I told you how to do both: do with your racket what you want the ball to do. Typically, if you get to hit the ball's upper edge and make a low contact (in your string bed), the racket should close right after the ball leaves the string. It seems that it allows you to transfer more energy into top spin and less into forward momentum and this specific type of contact seems very voluntary from the part of top pros as they consistently contact the ball higher in the string bed for winners and lower for more spin.
As for the tilt, we're talking about something like 10 to 15 degrees from the vertical plane and, usually, pros swing up to contact with an increment of less than 20 degrees fro the horizontal plane.