I determine which surfaces (or just non-unfolded parts in certain rotation) I'll need to create the texture. Then I determine the minimal size of a square they can fit in, create a box from it, and manually compose the texture layout there.
In some complicated cases, e.g. when I need a continuous unwrapped surface to place on my map, I use the simple "Unfold" plugin.
Then I switch off perspective, set the view from the side I need, and bake that into some high resolution image. Usually x3000 for x1024 textures, and x1500 for x512 textures, but precise values don't matter, just make sure it's not a screengrab with line resolution lower than you'll need on your final texture.
I open that image in Photoshop and crop it into square: as you remember, layout was composed in this shape, and that allows me to do this operation without deforming the image. Then I reduce the resulting image from what I've got to the resolution I need (usually something like 2438x2438 downscaled to e.g. 1024x1024).
Now I can start working on the texture. Image that was just made is actually a scheme which you can just set to the Multiply mode with some appropriate transparency, and place above all your layers for reference. Then we get a texture:
Then I apply the texture onto my model, which is, thanks to SketchUp interface, incredibly fast and easy.
Extremely important thing to mention there is that I almost NEVER scale anything in my texture layout. It's often tempting to scale something to make it fit into layout better, especially if there is not enough space in the square area you've determined, but I avoid that as much as possible. Why? Here's the thing: I always make use of SketchUp materials scale parameter.
For example, I made a square layout. Apart from baking it into an image for Photoshop work, I also remember the size of that square precisely. In this example it was 1.57x1.57m. When I import my finalized texture into the model to apply it onto surfaces, I will set precisely the same size in material properties. That will make the texturing process by an order of magnitude easier, because all the surfaces on my texture will be precisely real-scaled, and texture mapping will be reduced to extremely easy process of aligning object surfaces with proper parts of a texture. Continuous unfolded surfaces are even easier - you precisely apply your texture on one of them, and then finish the rest in a matter of seconds with sampling feature I've mentioned in my texturing tutorial.
As you understand, if you will use scaled parts in your layout, final texturing will be harder because one default size won't do anymore: you'll have to manually scale the texture on some of your surfaces, which is always less precise. Also, it's not that good from the point of pixel density.
Still, uniform scale, especially if applied to simple parts like doors, is appropriate in many layouts, because it's relatively easy to control. It's not that hard to stretch a picture of a door from your layout a bit to fit into a slightly bigger doorway, even though with each part like this, the texturing of your object will take more time.
The thing you'll NEVER want to use in your layouts is non-uniform scaling and especially any other kind of distortion. You'll never place such texture parts back on your surfaces in a precise way, not to mention that distorted or non-uniform scaled texture mapping can't be sampled over the edges, rendering it impossible to easily apply continuous sequences of unfolded faces.
It is the only one real limitation of this workflow. As you remember, most layouts of complicated organic objects feature continuous areas with countless complicated distortions used to fit the surface into 2D space. Like that:
You can't do anything like that in SketchUp because there are no tools to apply such a texture back to surfaces. It's easier for major DCC packages users, because when they work on UV layouts there, they are linked to the surfaces from the beginning, so you can distort the hell out of it however you see fit - texture is already applied anyway. In contrast, SketchUp never featured any kind of connection like that - our layouts are simple geometry, we're working with pixel data only. Then we manually apply the resulting texture to surfaces, trying to be as precise as possible.
Basically, my workflow is a manually executed imitation of simple hardsurface UV mapping methods. You're doing the same thing, just without the help of automatic link between your layout and texture mapping. Which means you can't execute really complicated cases like organic objects, but still, can rock it quite well with most hardsurface geometry.