Any mob trap within 16 blocks of the bottom of the map will catch slimes as well, but you have to be careful to not hurt the slimes too much to get them to split the most. Punching and drowning are the safest ways to ensure that they'll split into more slimes. Also, you want a large room so that bigger slimes will spawn which can then have more splits.
The most important thing besides the depth is that it's in a chunk suitable for slimes. Slimes can only spawn in 10% of the chunks, picked randomly depending on the seed. You can calculate which chunks are suitable with this tool by trunkz though: http://www.minecraftforum.net/topic/397835-find-slime-spawning-chunks/
They only spawn a tenth as often as other mobs, but they'll also spawn in any light level, so if you're digging for diamonds at bedrock level, you'll usually find quite a few naturally.
A water block becomes a source block when there's at least 2 other source blocks next to it (not counting diagonally). You start with the very edge and place two water blocks like so. This will give you a 2×2 square of water sources.
__________
|Wo |
|oW |
| |
| |
| |
W = water source placed by you
o = water source generated by the water mechanics
Now, simply scoop up any source block (it will refill), and dump it diagonally from the outermost block.
__________
|Woo |
|oWo |
|ooW |
| |
| |
Repeat until you hit an edge. Which source block you take doesn't matter, they are all infinite (as in, will refill instantly) at this point.
__________
|Woooo |
|oWooo |
|ooWoo |
|oooWo |
|ooooW |
As you can see, to fill an n-long square, you need n bucket loads (actually, only 2, since after that, you can refill from the pool).
To fill the entire rectangle, dump a bucket every other row on one side. The very edge block always has to be filled.
__________
|Wooooooo|
|oWoooooo|
|ooWooooo|
|oooWoooo|
|ooooWWoW|
So to fill an n×m block rectangle, you need n + ceil((m - n) / 2)
water sources, with m being the longer side. Again, only 2 if you're talking resources, because after that, you're drawing from an infinite pool.
Here's a video of a guy using this technique on a square:
(Note that he always refills from the still source blocks for some reason, but as noted above, any source block will do.)
Best Answer
The Wiki says:
So, I tested.
19 hits from Iron Sword (aprox 19 seconds based on 1 hit/second.)
15 hits from Diamond Sword (aprox 15 seconds based on 1 hit/second.)
13 hits with an arrow. (aprox 26 seconds based on 0.5 hit/second.)
Fire: I dropped a Iron Golem into an enclosed area with a floor on fire. The golem lasted for a good 60 seconds plus before dieing.
Lava: The Iron Golem was dropped into a 1-block deep area of lava. He lasted 13 seconds.
Cacti: Dropped into a pit full of cacti. Around 25 seconds.
Suffocating: Created in a 3x3 hold and then used pistons to squish them in - around 25 seconds.
The verdict is: Using your own default weapons (swords and bows/arrows) are highly effective, and are encouraged. Using lava may be risky; setting up the trap takes time, but just going all out on an Iron Golem should do the trick. Enchantments may also speed up the time it takes to kill one of them.