I apologize if this has been discussed before...
There is an implied "put" option a swap taker has. The Swap Taker can take at a specific rate for a specified period of time. Let's say BTC 0.0055% per day for 30 days. Let's say that someone posts 0.0050% for 30 days, then the Swap Taker can take the new swap and cancel the original swap.
I do not have a problem with allowing the person to cancel, especially if they are cancelling a loosing trade. Since the swap provider does not have a similar cancellation ability, I think there should be a cancellation fee for the unused remaining time. That way, the swap taker will be more careful about how many days they take.