I suppose you set Planned Shipment Date on sales line. If I'm in right, then this is standard work.
When you create new line with some item, you get Planned Shipment Date on line same as Promised Delivery Date on sales header. If you change it on +2D and replace this item with new other, you will get this date from header again (never mind are you use substitution or you change item no. by hand).
If you want to stay this 2D, you need to set this date on sales header. If you set this, every time when you replace item on line, you will get correct date.
If you use different scenario, please give us a more details.