There are two schools of thought on tube making (well two relevant ones ;)).
The first is the mesh method which you have tried. By curved tubes I’m not 100% sure what you mean (if you mean a tube which can have both straight and curved sections that are non-uniformly circular, but anyways…) in the mesh method you basically make a bunch of cylinders (I suggest starting with a circle, though), and then extrude the circle to make straight sections. To make bends use the spin function (put your the 3D cursor at the center of the circle you want to spin around). This method keeps the poly count low, but is a little more cumbersome to make changes too.
The other method is with curves. You can set up a 3D path (which will pretty much always be curved, though it is, at least in theory, possible to get straight sections) and add a BevOb to it. The problem with this is occasionally you’ll have to get a twist out of a section of pipe (its where two handles are offset in rotation by 180 degrees, creating a “kink”). Its also pretty heavy as far as “polys” go, since they are curves (they don’t really have polygons until they are tessellated in the renderer (I think blender tessellates curves and does not use implicit surface rendering:eyebrowlift2:)).
Hope that helped…