It depends on what you want to accomplish. The
http://www.diymotorcycleseat.com link that was posted earlier is a good place to start. Changing the slope a bit to stop yourself sliding forward, or scooping out a bit of foam to relieve hotspots on your sit bones is straightforward. Stuff like that doesn't require much foam and lets you reuse your existing seat cover.
To improve comfort, the main idea is to even out your weight distribution across the weight-bearing surface area of the seat. Basically, make the shape of the seat more like the shape of your butt, so that no one part of your butt is under more pressure than the rest. Fancy foams or gel inserts can help a bit by conforming to the shape of your butt more easily, but the biggest differences come from making the foam the right shape in the first place.
The other principle that I relied on is increasing the weight-bearing surface area of the seat. Basically, build up the seat or reshape it so that more of the seat is touching your butt. If you double the weight-bearing surface area, you will halve the pressure on each square inch of your butt, which makes everything a lot more comfortable. I took this idea to the extreme, and built up the area along the sides of the seat under my thighs. This easily doubled the weight-bearing surface area, and maybe even tripled it. It ended up being something like a Russell Daylong, but even bigger and uglier (I ride a VStrom, so it is sort of a personal challenge to make it even uglier than stock). This isn't my writeup, but my process was similar to this:
http://www.vstrom.info/Smf/index.php/topic,8300.0.html
Building the seat up a lot (you actually tend to build it out more than up) will probably mean that you can't reuse your existing seat cover. This might be one of the limiting factors if you want to keep it really simple and cheap.