You are probably getting freezes because you are exporting NFS shares with the "hard" option (which is the default).
You can change that by using explicitly the "soft" option. The NFS man page has more.
mount -o soft <nfs server ip>:/mountpoint /local_mountpoint
Then in the clients you should no longer have a problem with freezes.
As for a convenient way to implement file sharing, among Linux boxes, NFS is the way.
I confess, I too, didn't think the NFS was as versatile as Samba, but if you follow a couple of guidelines NFS can work completely transparently.
- create the folder /nfs and make links in it for all the folders you want to share.
- update your /etc/exports file with paths to this /nfs folder.
- using automount utilities in the clients in order to automate the process of mounting transparently.
- last but not least, verify that each username on the server and on the clients has the same UID. This way users can access their files (without permission problems) from every client. (if LDAP or NIS is used, then this option is inferred).
Hope this helps.