When setting the "Task Billing Method" to Multiple Customers the Ship-to details do not carry forward to the Sales Invoices. This logic makes sense as ship-tos are associated to individual accounts and if multiple customers are assigned at the task level then there is no relationship between the bill-to customer at the task level and the ship-to at the header level because this ship-to is related to the sell-to customer. When picking a ship-to do at the header level you receive an errors that says "You have changed Ship-to Code on the project, but it has not been changed on the existing project tasks. You must update the existing project tasks manually" However there is no way to actually choose/set the ship-tos on the task lines themselves making this error a mute point.
My suggestion would be to allow users, at the Task Level, to manually pick from a drop list of available ship-to's that are associated to the bill-to customer selected for each task.
