I've done this before, and it seems to be the quickest way that I can stomach. I fill a bowl with water and ice, and put it in the freezer until their is a very thin film of ice over the top. I pull it out, break the film, and toss the fish in. Within 2 seconds, they're gone. I can deal with that.
I used to use the disposal when I had one, but my current house doesn't, so this method is what I use.
I don't think allowing a fish to slowly freeze, like going slowly from 78 degrees F to 30 over the course of a few hours is very humane because the fish's blood vessels explode. However, in my experience quickly removing a tropical fish from it's warm water and dropping it into ice water (literally, more ice than water) is humane. I once euthanized an ailing betta fish this way and in literally two seconds he had died. He jerked once, gasped, and then he was still. Still, just in case he was just in shock, I netted the unmoving body and thwacked it against the table. I'm not sure whether this would instantly kill goldfishes or other hardy fish however.