As mentioned above, you are probably pulling the fly out of their mouth. One trick I learned while Steelheading, where most fishing is done on 'the swing', is when the fly gets down below you - or esp. when it is straight downstream - if you feel a strike, try thrustinng the rod toward the fish with your rod hand, let him take the fly, then set the hook with your stripping hand as you raise the rod upward to protect your tippet. It is hard to do because it goes against every instinct you have, but it has improved my hook sets in similar situations you are describing...
ymmv,