I have been reading your page and have noticed that almost everyone uses Styrofoam for hills, I would like to share my technique which uses acoustic ceiling tiles for Hills as well as for the table surface and for rivers. (I use a modular table design)
Since the surface of my table consists of numerous two foot by two foot sections of tile I use the following method for creation of rivers.
I find the ceiling tiles easy to work with and with some thought they can be used for a number of other purposes such as walls, roads etc. Keep in mind these tile can be picked up for practically nothing in a damaged state which is useless for their intended purpose but perfectly good for terrain.
For an inexpensive, extremely durable, and easy to clean gaming surface, I use a 9' x 5' piece indoor/outdoor carpeting. It's 100% synthetic, can be vacuumed, or even taken outside and hosed off for cleaning. It comes in a variety of colors: green (various shades), brown, and blue. The price is typically $25-$30 for a 9' x 6' piece (look for them in DIY stores).
I took the extra strip (I use a ping pong table, 9' x 5', so I cut off a 1' x 9' strip) to make hills. I brought home some open cell foam packing sheets from work, and cut them into various sized hills: 1" - 2" tall by the desired size. Next, I cut and glued (PVA works very well) the carpet left-overs to the match the shape and size of the foam hill. After that, the only thing left to do is to finish the edge of the hill: cut a strip of green felt the proper width (matching the side of the hill) and glue this around the hill's edge. The hills are stackable, and they match the table surface perfectly.
To make mountains, I use the above method with brown carpeting. Because I need a small amount of carpet, I looked for remnants at a local DIY store (I got a 4' x 5' piece for around $10). Cut and glue the carpet and foam as before, but finish the mountain with brown or tan felt. If possible, try to use foam sheets at least 2" thick; if you can't get foam sheets thick enough, just glue two layers of the thinner foam together. Stack them as tall as you want your mountain to be.
Begin with 4'x 8' blue building insulation foam. Using a foam cutter, cut the board into two 4' x 4' sheets. One sheet will comprise the "base" while the second will be terrain level one.
Take one of the 4' x 4' sheets and cut into 4 equal 2'x 2' sheets (I do this for modularizing - it is an optional step). I take some of the smaller 2'x 2' boards and cut depressions into them (usually jagged 'holes' about 1/2" - 3/4" deep).
Next all the 2'x 2' boards are covered with what I jokingly call "Granny Grating". This stuff comes in an odd size (13 1/2" x 22 1/2" - maybe metric?) and is designed to be used with yarn knitting. There are tiny square patterns all through it and it's made of plastic. Costs about 55 cents a sheet. Very cheap! Anyway, I take this stuff and glue it directly to my 2x2 boards. You can either cover the whole 2x2 area, or leave a nice blank border if you want to.
After the glue sets, I spray prime all the boards with black paint. Then I use Citadel Chain mail and drybrush the Granny Grates. Sometimes I add flesh wash, straight or watered for a rust effect, but it isn't completely necessary.