Think about how smbclient works, and how nautilus and other file managers work. smbclient mounts an SMB share somewhere in the local directory. Nautilus, et. al., use a virtual filesystem (GVFS and FUSE), and 'mount' the samba share there. This is the main difficulty, and does pose some slowdown issues. For most everyday apps, this is not a problem, but you are in a vey particular position. I would suggest using smbclient in a script to do the heavy lifting, and nautilus only for browsing.
Take a look at this: http://en.wikipedia.org/wiki/GVFS