Sorry, but it is hard to give you a recommendation without knowing much more details about your environment.
In general I would say In-Place updates most definitely if you are using streaming. If not, I rarely see any point in using it.
AppSync and AppLink if these methods solve a pain for you. A typical pain could be very limited bandwidth. If size of update packages is very important I would go for one of these two methods to deploy updates to locally deployed packages.
If you use MSI for initial deployment, MSI for updates are often a logical choice.
Thanks, I hope you enjoy the book..