I personally think a trap and patience in an inaccessible reef is by far the easiest, least destructive and most effective method there is. As with anything there are rules that need to be followed:
The trap needs to be introduced in the aquarium for several days at least, it needs to become normal. In this time you should never attempt a catch or cause any kind of disturbance with the trap.
Only feed in the trap, limit food to keep the fish hungry and willing.
Most importantly You must be extremely patient and never spring the trap unless you’re positive you are going to get the fish you are targetting. Marine fish are extremely smart and highly visual creatures, they learn quick. If you spring the trap and they escape it’s likely the last time they will ever enter the trap again for a very long time (If ever). I think this is where most people go wrong.
There’s a ton of other ways to catch a fish in an inaccesible tank, they take time, perseverance and often times a lot of luck. Generally bad things only happen when people lose their patience. Of all the methods I’ve had to use in the 30+ years of doing this traps are by far the easiest on me and the other inhabitants of the tank.
As for not having the luxury of time, any fish you put in your reef needs to be carefully considered because the reality is they may become a permanent resident. I personally don’t think harming an animal I chose to put in my aquarium is an acceptable practice. I’m not passing judgement on anyone else or imposing any morality on the situation that’s just my personal take on it. I’d rather let the fish damage corals and take the time to capture it unharmed so it can be relocated to a more suitable tank/situation.
The best prevention to this problem is resisting the urge or want of a species of fish that might have the tendency to be destructive or excessively agressive in a reef aquarium. Some fish just don’t really belong together or with corals no matter how much you’ve convinced yourself they will. I say that knowing full well that I have decades of experience that most newer reef keepers don’t. We all make these mistakes from time to time.
There is also occasions you have to choose a species that may harm some of your corals in order to solve another problem, like having a copper banded butterfly. (like I have had to do for Aptasia). I know the risks that it may decide to eat my micromussa, but I’ve got to be ok with that, or I need to be willing to capture the fish and re-home him and to me that’s ok. (Apparently everything that likes eating corals loves to eat micromussa).
As for spearing the fish, I’ve never met a fish I couldn’t outsmart so I’ve never had to. I’ve got 3 gold assesors that live in the back of my tank inside the rocks, I feel fairly certain I would never be able to get them out using any method other than completely taking down the tank and breaking down the rockwork, and even then I may never find them. They are definitely permanent residents. (Far too small to spear too LOL).