If you have a river, then moats are easy (or an ocean). Dig a moat as you'd expect. I usually like to go underground to dig a path, so the surface is still solid with the water flowing out of sight. Channel your moat, then dig towards the river/ocean, until you're at the "moist stone" point. Then designate ramps to be dug at the moist stone edge, and if you've done it right your miner should stand at the river's edge and dig down - if you've done it wrong then the miner will stand in the tunnel and drown himself quickly.
Alternatively, if you have a LOT if useless migrants, you can bucket brigade with a lot of effort. Designate a pond zone at one point, and dwarves will go fill a bucket with water and empty it at the zone. However, they do this one at a time, so to be effective you'll need a lot of pond zones. Trouble is that water evaporates at 1/7 depth, so to keep it deep you'll either need a LOT of dwarf power, or use creative floodgates to stagger the water flow in such a way that it always remains deep. Pond zones also go to 6/7 naturally, though you get a few 7/7 tiles because of delayed jobs, and that 7/7 dancing around can (in theory) drag your FPS down just a tiny bit. Plus it always gets on my OCD...
Either way, if you're using the pond method, get like 150 idlers, a greater number of buckets, and learn how to use macros or autohotkey to designate multiple pond zones at once.