It could be caused by your firewall. In your firewall settings, make sure it is allowing msnmsgr.exe fully. Also in your firewall, try opening the ports 6891-6900 TCP.
I could also be due to your contacts firewall. Has the slow transfer only been apparant with that contact or with other contacts as well?
Also, go to main messenger window, tools, options, conections, and see what it says under connection status. If it says you are connected using defulat browser's http proxy server settings, try going to advanced setting and choose TCP. Then see if the file transfers are any faster.
If it doesn't get better, your could try the messenger plus plugin
File Transfer Plus which for me speeds up transfers, but both contacts need to have the plugin.