The best thing to do is to experiment and find out which way is best for your situation.
The recommended method however is to have the fan blowing on the cpu. The reasoning behind this is that the tips of your cooling fins are cooler than the bottoms, which are closest to the heat source.
As the air travels down the fins it can continue to pick up heat and remove it from the heat sink, because the temp of the hs is hotter as the air moves down.
If the fan is sucking, then the air comes into contact with the hottest part of the hs first, and then moves up to the cooler regions of the hs. As the air approachs the cooler areas of the hs, it can be almost as hot as the hs itself, so it will then lose the ability to pick up heat and remove it.
I have read however, that for whatever reason, sucking the air up on certain hs/fan combos, will improve the cooling abilitys of the hs.
Here is a link to a write up on the dynamics of cooling, originally posted by hoot.
You should read the whole article, which you will find
here the first link is a short cut to the answer for your question.
Hope this helps.