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