i think there are 2 reasons why MS is porting only CLR to Mac, one is marketing and other is because CLR is easier to port than Windows.Forms?
Most of the BCL should be ported easily. ADO.NET, ASP.NET and WinForms would be more compelx... ADO.NET means that each db vendor needs to write a manage provider for their mac database. WinForms relies heavily on the Win32 API. But the complete WPF would be
also quite some work: it heavily relies on DirectX.
Windows.Forms has mostly already been ported to Mono.
They couldn't take the Mono code, because that would make the whole thing open source, wouldn't it?