With only 5 known characters to replace so far and very few that could remain, I recommend keeping this as simple and fast as possible. You could easily turn this into an iTVF as well.
UPDATE t
SET Question = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
t.Question
,CHAR(147),'"'),CHAR(148),'"'),CHAR(151),'-'),CHAR(150),'-'),CHAR(146),'''')
FROM dbo.Table$ t
;
--Jeff Moden
Change is inevitable... Change for the better is not.