I’ve noticed some lag while playing HD movies on my Raspberry Pi with Raspbmc from my SMB shares. I’ve found an easy way to fix this by reducing video refresh rate during video playback (forum topic here).
In XBMC, go to Settings -> System Settings -> Video output -> Refresh rate. (this seems to be a Raspbmc-specific setting, so you won’t find it in XBMC)
Set this number to a lower setting. The ideal setting would be the highest refresh rate that still allows all or most of your videos to play without lag, so that you have the highest quality video output possible. So you’ll need to do a bit of experimentation with your setup to find the best refresh rate setting.