Tile swapping requires setting too many tiles separately. That's likely what's dragging down the performance for you.
I instead use submapping for the houses, an animated actor for the lights and trees and palette swapping for the street and the water.