Two solutions:
CREATE TABLE #routes (src char(1), dest char(1))
go
INSERT #routes(src, dest)
VALUES('C', 'H'),
('H', 'C'),
('K', 'H'),
('H', 'K'),
('K', 'B')
go
SELECT DISTINCT least(src, dest), greatest(src, dest)
FROM #routes
go
SELECT DISTINCT IIF(src < dest, src, dest),
IIF(src > dest, src, dest)
FROM #routes
The one with least and greatest only runs on Azure SQL Database.