thanks for the posts and feedback.
I only use hierarchical designs unless the design is small enough so it fits onto 2-3 pages (similar to julianhigginson).
Over time I decided to invest the time establish a decent design flow for layout re-use. I am using OrCAD and Allegro and I have to admit the process was pretty painful and required filing quite a few tickets with Cadence...but it is working now and it is huge time saver (I can't stress that enough !).
Once you start using such a design flow you automayically build up external libraries that contain (even smaller) sub circuits that you are likely to use in other designs. Examples being switching regulators, uC templates (like 64 pin device, with XTAL, blocking caps, USB interface) or something as simple as uC Programming header interface that is nothing more than a custom mechanical header with a few passives around it.
In my case, I have all the components linked to a database that contains manufacturer and distributor part numbers, once the re-use module is placed in the schematic, the layout comes with it and all the necessary information for the generation of a BOM is available as well (incl. correct 3D step model mapping).
In practice this means that if I need to re-use for example a 15V to -5V switching regulator that carefully tuned (layout) and optimized for noise, ripple in the past on a 2 layer board with components on the top layer, one can simply take that layout and apply it onto a 4 or 6 layer board or even mirror the components from bottom to top etc. For RF circuits where the exact PCB stack up important for impedances etc. it is less flexible as one can only map the re-use module to PCB stack ups that match the original stack up (or section of the stack up) that is critical for important RF parameters.
Anyway, I hope I could encourage a few more people to look into implementing a layout re-use flow with their preferred tool.