I don't think current bottlenecks have go an easy solution, Photoscan shows typical disadvantatges of massive discrete tasks and one of the main factor is image resolution, a 5000x3000 pixels image is in fact a 15 million pixels image, then multiply it for each chanel (RGB) and for the number of pics in the chunk and then allocate resources to all of them.
The main battle IMO is implemeting differential sampling without too much overhead, so more resources are allocated where their are really needed, for instance more sampling where the cloud is more sparse or there is more complexity. I think that an usability overhaul could partially solve that, for instance linking for once parameters and jobs to regions, and allow for several regions in an scene, each one with its own quality settings, and allow for some boolean operations between regions, etc. and making everything a non-destructive process.
Currently Photoscan is following the same path others are using, which is throwing more silicon to the problem (GPU cores).