First of all, getting the right tip for the job is crucial. Too big and it won't fit, too small and it won't solder properly (the thermal mass you mention).
Second, the right temperature. Ballpark: 325 C for leaded and 350 C for unleaded (or should that be leadfree?
)
Third: the right solder wire gauge. Thin for small, thicker for bigger parts (in that respect I disagree with Dave of just using thin gauge for everything).
Fourth: the component must lie flat before you solder it.
Fifth: the only proper solder join is made when you feed in the wire during soldering. Putting solder on the tip and then try to solder with that is not a good practice. The one thing that you need for a proper join (the flux inside the wire) has lost its effectivity before you can even solder that way.
Wen I have to replace an SMD resistor, and should I choose to use the iron and not hot air, then I remove the old one, remove the existing solder from both pads and apply a bit of new solder to only one of the pads. Then I place the new resistor on the pads and touch the pad with solder until it melts for a join that's good enough to hold it in place. This way the resistor lies flat. Then I solder the other side and redo the first side for a quality join. Job done.