Is is ever okay to use punishment for training? I'm not sure. I've definitely used it when I didn't want to take the time to use positive methods to teach Indigo to stop lunging at cars. She stopped quickly and hasn't considered chasing them again since.
We are still working on training a terrier in flyball with chasing issues. Desensitizing isn't working well or fast enough. We've been trying it for 2 years. Just when we think we have some progress, we have a set back and it feels like we are where we started. It seems like we could work under his threshold for several more years and maybe make some progress.
One thing we haven't tried is negative punishment: water gun, "come to jesus talks", e collar/vibration collar etc. We did try using a pool noodle and he just attacked it.
I am very hesitant to try this type of training because I know it can break the dog.
To be proactive with our new set of green dogs, I'm working on head to head training for everything. There is ALWAYS another dog working in the other lane. It obviously doesn't work to deal with all that later.