The calculated distance (air line) between Teddington and Swansea is approximately 156 miles respectively 251 kilometers.
By car or train, the actual journey to Swansea is certainly longer, as only the direct route (as the crow flies) between Teddington and Swansea has been calculated here.
Air line (approximately)
251 kilometers
135 nautical miles