Almost always (i.e. 90% of the time) the cause of topping comes from movement of the head and shoulders (moving up and down). Now that can be caused by to much bending of the knees especially the front knee (which shouldn't bending).
The easiest way to identify the problem is with "The Shadow Drill" http://simpleswing.forumco.com/topic~TOPIC_ID~647.asp Get out and put a tee or something else on the ground at the top of the shadow of your head. My guess is that you'll see movement. Other things like swaying forward can cause topping but that also should be easily identifiable with the Shadow Drill.
Let me know what extra mmotions you see with the Shadow Drill. Once we identify the extraneous motion we can come up with a plan to stop it.
I sometimes top the ball with my fairway woods. It always happens when I flatten my swing and fail to keep my leading shoulder square to the ball. In other words, if I swing around my body instead of on plane I will top the ball. The same swing flaw with a shorter iron will cause me to pull the ball low and left.