How about:
insert #t2 (lname, fname, mname)
select
LEFT(#t1.name, CHARINDEX(',',#t1.name)-1) as lname,
CASE WHEN CHARINDEX(' ',REVERSE(#t1.name)) > 0 THEN RIGHT(#t1.name, CHARINDEX(' ',REVERSE(#t1.name))-1) END as mname,
CASE WHEN CHARINDEX(' ',REVERSE(#t1.name)) > 0
THEN SUBSTRING(#t1.name, CHARINDEX(',',#t1.name)+1,
LEN(#t1.name) - CHARINDEX(',',#t1.name) - CHARINDEX(' ',REVERSE(#t1.name)))
ELSE SUBSTRING(#t1.name, CHARINDEX(',',#t1.name)+1,100)
END as fname
from #t1