Your algorithm is probably too elitistic. It only allows better solutions to enter your population. I assume at some point it will consist of all similar individuals. With no diversity left and your elitistic replacement only the low amount of mutation could introduce new genetic material.
I would recommend using elitism only in that you only let the best individual from the previous generation survive. The rest of the individuals should all be replaced by the new generation.
Or you could go with the offspring selection approach that we invented. For each child to survive it must be better than the better of its parents. Otherwise they're discarded and a new pair of parents is selected to produce a new child. You loop to produce new children until you have enough to fill a new population. Then you replace your population and start anew. The offspring selection genetic algorithm usually outperforms the genetic algorithm in terms of quality that it can achieve. It's implemented in HeuristicLab. You should be able to model the TSPTW if you open a VRPTW and allow only one vehicle.
Another option would be to go with a trajectory-based algorithm e.g. based on tabu search, such as the unified tabu search. The constraint relaxation is probably needed due to the time windowed solution and to get to different local optima.