UV unwrapping and efficient island packing?
I am just learning this myself, but since nobody else has jumped in, I'll chime in with my 2 cents... I certainly don't mark every "sharp edge". It is good to mark at a sharp edge, but not necessarily "every" sharp edge. I try to mark along lines where I expect the texture to change, and I try not to mark through areas where the texture will stay the same, especially places like the middle of a floor or wall or other large flat-ish surface. The more patterned the texture is, the more obvious it will be if you mark across it (imagine a tiled floor where the middle of the floor has a line through it where the tiles don't line up).

This way it is somewhat easier to texture, and once textured, the seams are not so visible. Of course, this is not always possible without severe stretching, so in cases where I MUST mark across an area where the texture doesn't change (to relieve stretching/squashing), I try to do it at a corner (or sharp edge, like where a wall meets the floor) or a place where it will seem less noticeable (with the grain for a wood pattern, behind an obstacle, in a dark area, etc...).

I don't worry much about where the "parts" land on the UV map. It would be ideal if everything with a matching texture were to land close to each other on the map, but I have tried and not yet found a way to do that without extensive effort after unwrapping (open to suggestions). It's easier to pick through it while texturing than to move things around beforehand.

Like I said, I'm just learning this myself, so let's hope someone with more experience will pipe in with some really good tips.