As far as I know, dynamic programming does the trick
Klein's paper on TSP for planar graphs has the details for planar graphs with bounded tree-width.
If the graph is not planar, the dynamic program is slower (dependency on the tree-width is worse).
Philip N. Klein: A Linear-Time Approximation Scheme for TSP in Undirected Planar Graphs with Edge-Weights. SIAM J. Comput. 37(6): 1926-1952 (2008)
(PDF on Philip Klein's website)
Dynamic programming is also used to obtain a PTAS for bounded-genus and minor-free graphs (but as far as I remember the authors do not specify the details of the DP).
Erik D. Demaine, MohammadTaghi Hajiaghayi, Bojan Mohar: Approximation algorithms via contraction decomposition. Combinatorica 30(5): 533-552 (2010)
(Paper on Erik Demaine's website)
Erik D. Demaine, MohammadTaghi Hajiaghayi, Ken-ichi Kawarabayashi: Contraction decomposition in H-minor-free graphs and algorithmic applications. STOC 2011: 441-450
For videos on these PTAS constructions, see Planar TSP and Minor-free TSP (again not focussing on the tree-width part).