This is as tough as dog punishment gets around here. When Uly did something really bad once – trapped and started plucking one of our white chickens (he didn't kill it) I adminstered the 'Bed!' punishment. Basically this involves telling the dog off in sternest possible voice and commanding it to go to its bed. This resulted in Uly, ears back, slinking off to the house to his corner of the utility room and lying low in his bed. He sure knows he's done something wrong. Boy did it work! Uly has never touched the chickens again.
I would say, I think this type of punishment although entirely non-physical, is extremely powerful. The dog doesn't like being told off, it humiliates them and as such I think it should be used only where absolutely necessary and definitely not often.
In the time I've had Uly, this is the most effective method of getting through to him that something must not be done. It works and my guess is it works for life. Don't overdo it!