Subdivision modeling is a curious beast. There are many applications wherein modeling exclusively in subdivision surfaces (subsurf) is desirable—car modeling, organic characters, and so on. There are also many applications where trying to do this is an exercise in frustration. Trek ships are a curious case because they're large, organic forms with small, architectural detail.

(Side note: I once asked a question about optimizing frozen subsurf meshes on BlenderArtists, only to have someone tell me that no one does it that way; everyone models all the detail in subsurf and then renders it. I had to try really hard not to jump all over the guy. Yes, yes, I am a bit bitter.)

Long story short, while it is hypothetically possible to do a Trek-style mesh entirely in subsurf, I don't recommend it and I don't think you'll find that a common approach most models you see. Instead, use subsurf to get the major, continuous forms locked in place and then apply that subsurf once you're really happy with the overall form.

(Side note: If you're not really happy with it, you're going to find yourself regretting it later, going back to earlier revisions, and having to re-do a lot of stuff. I think I did the shield grids on the saucer of my Ambassador four times. By the time I got to the stardrive, I had my technique pretty well established, so I only had to do it once. However, I also realized post-freeze that I'd made a mistake in the shape of the neck inset, so I had to go back and redo that. Fortunately, I hadn't done much detailing yet!)

Here, for example, is my Ambassador's stardrive as a polygonal mesh without subsurf applied, with subsurf applied and display optimization turned on, and finally without display optimization turned on depicting all of the polygons.

One thing to note here is the number of non-regular joins and their location.

In subsurf modeling, the concept of edge loops is a pretty big deal, even when you're not dealing with a character destined for organic deformations. Edge loops are continuous flows of four-sided polygons. Anywhere that you have multiple (i.e. more than two: vertical and horizontal) edge loops converging, you typically have a surface irregularity (a pole). Sometimes (usually), these create weird warps in your shape and need to be re-thought in order to get the surface to flow correctly. Having some poles is inevitable, so the trick is figuring out where to place them to make them work for your shape, rather than against it. This isn't really something that can be taught; I can show you general cases and specific examples, but it's been my experience that these are never sufficient to help one deal with individual cases. You just need to think through them. I've noted the irregularities in the above image.

There are also some cases when you can't neatly get rid of all of the irregularities. Sometimes, that calls for going in manually and rebuilding the local geometry by hand, after you've applied your subsurf. Check out the area where the front of the neck meets the hull and extends toward the deflector as a before/after:

All of the geo there was hand-built and massaged into place. To that end, I highly, highly, highly recommend you look into a few Blender add-ons.

I apply the Edge Split modifier to every object, with a 30-40° split angle. Edge Split sits at the bottom of my modifier stack. My general modifier stack is Mirror > Subsurf > Edge Split while modeling the subsurf portion. Once I'm happy with it, I apply the Mirror, then the Subsurf, delete all of the polygons in one axis, and then re-apply Mirror so that I'm left with Mirror > Edge Split.

Creasing edges figures in extensively while modeling the subsurf portion. Without creasing, you need substantially more Edge Loops to get good, tight curves, which results in very messy topology. Here's a little pictorial explanation:

Suggested Further Study: