Luke - this is a really hard one. The ideal thing to do if one is absolutely committed to not damaging the fish is not to catch them in the first place!
The more realistic option is to release the fish while it is still in the water. It is not just a matter of dragging the fish out and the pressure that puts on its jaw. There is also the fact that it will lose scales and slime in the process when you drag it out, especially if it is a big fish.
As to whether the gaff causes any significant damage to the fish, I really don't know but it obviously isn't good for it! Conversely, trying to get a fish out of the water without a gaff is not easy and may necessitate you wearing the fish our excessively before you can boat it, especially if the fish is big. If that happens, is the poor bugger going to be shark bait when you release it? So is a quick catch and release more important than handling th fish with kids gloves if the cost is wearing the fish out? I honestly don't know.
Most fishos would like to have a photo taken of a nice fish before release and I am no exception but on the other hand, what is the point of releasing a fish if you have basically killed it? Food for thought.