I thought you were just talking about a single parent object that was complex on the inside, not so many instances, the “optimal approach” would be probably to create the buildings procedurally using instanced static meshes.
For example, the unreal demo room is a big blueprint with customizable instance settings:
If you show an example of what you’re doing I think we could help you more easily.