You can do something like this, but I would rather suggest you to look at you database design and store the value as proper types instead of string values.
CREATE TABLE #Timings (START NVARCHAR(100), ENDS NVARCHAR(100), Timing NVARCHAR(100))
INSERT #Timings
SELECT
SUBSTRING(Timings, 1, CHARINDEX('-', Timings) - 1),
SUBSTRING(Timings, CHARINDEX('-', Timings) + 1, LEN(Timings)),
Timings
FROM
FacultyTiming
ORDER
BY Timings
SELECT
Timing
FROM
#Timings
ORDER BY
CONVERT(time , START)
DROP TABLE #Timings