Limitations for Lookup Summary techniques?
If you do not need "Real Time" updates your best solution would be to use a batch process to cycle through the parent records individually and summarizing the children.
When you attempt to do it with triggers and sync you are going to increase the time it takes to load the data as well as potentially introduce other problems.
Those other problems include CPU Time outs, too many row, etc.
Andrew's technique is one of the better ones but how well it performs is also a function of the rest of your environment along with any other code that runs along side it. You also run into multiple executions if you have a bunch of inserts that cause updates and updates that cause updates.
Process builder is not ready for this type of work and will lead to premature baldness, do not even try it.
This is a difficult question to answer because the choices are highly dependent on your org and its existing processes and code base.