Da gibt es sicher einige theoretische und manche praktische Erwägungen. NFS ist zum Beispiel ein Kernel-Dienst und ermöglicht deshalb den Betrieb eines Servers ohne zusätzliche Software-Installation und "eigentlich" gehören Dateisysteme auch zu den Aufgaben des Kernels. NFS alleine ist bei Systemen mit vielen Nutzern aber recht hackelig. Dabei gibt es noch viele Systeme, die nur NFS-V3 kennen und erst mit V4 wurde ein User-Managment überhaupt integriert. Meist werden Zusatzdienste wie Kerberos oder LDAP benutzt (ich gebe das vom Lesen entsprechender Beiträge wieder und nicht aus eigener Erfahrung) und somit ist also auch bei NFS-Systemen Zusatzsoftware im Einsatz.
Aus eigener Erfahrung mit Mac-OS-X bis 10.7 kann ich sagen, dass es nicht sehr schön mit NFS funktioniert.
Der Mac-eigene Dienst AFP wird allerdings von FreeBSD gut gekonnt.
AFP und SAMBA bieten eine bescheidene, eigene, also bereits eingebaute Nutzer-Verwaltung. Für Samba gab es SWAT, einen schönen Hilfsdienst zur Konfiguration über einen Browser. Ob es das noch immer gibt, kann ich nicht sagen.
Mac und Linux können Samba nutzen und das geht einfach und performant.
Linux kann sftp und das geht bei FreeBSD per default als Zusatz zum SSH und hat (soviel ich weiß) kein Nutzer-Management. Mit Nutzer-Management meine ich solche Sachen, wie einzelnen Nutzern unterschiedliche Berechtigungen auf einzelne Freigaben zu gewähren, ihre Passworte zu verwalten und ähnliches.
Einen Mischbetrieb kann ich mir gut vorstellen, wenn das ein hierarchisch organisierter ist. Nutzer mit NFS haben zum Beispiel Zugang auf bestimmte Dateien und Bereiche, die anderen verschlossen bleiben oder solche Nutzer sind diejenigen, mit den höheren Rechten überhaupt, eine Art super-User die vielleicht Dateien umbenennen oder löschen dürfen. In meiner Umgebung speichern NFS-User Dateien auf dem Server, die von anderen (SMB und AFP) (nur lesend) benutzt werden.
Interessant ist (und von mir nicht vollkommen verstanden), dass es unterschiedliche Ausführungen für die Clienten gibt. Einmal wird die Freigabe gemountet, also ins Lokale Dateisystem eingebunden und auch wie lokale Daten behandelt, ein anderes Mal stellt sich die Freigabe wie ein entfernter Pool dar, der immer erst synchronisiert werden muss und gar nicht als lokaler Mount erscheint. Das habe ich gerade bei Ubuntu mit smb erlebt, wo das System ja voll mit Automagie ist. Da gibt es dann sicher auch unterschiedliche Beschränkungen und Überlegungen. Viele Anwendungen stellen etwa eine .lock-xy als Zeichen dafür, dass eine Datei xy gerade geöffnet und von einem Benutzer bearbeitet wird. Dazu müssen sie in das Verzeichnis schreiben, in dem die Datei zur Bearbeitung geöffnet wurde. Ansonsten können sie die entsprechende Datei nur im Orginal downloaden und dann lokal bearbeiten.
In solchen Szenarien kann ich mir im Mischbetrieb der Dienste einige Probleme vorstellen, wenn Dokumente von allen benutzt und verändert werden können und wenn solche .lock Dateien etwa nicht sauber zurückgenommen werden, weil vielleicht der Client sich vorher verabschiedet hat.
Alleine aus Server-Sicht können die Dienste sehr gut nebeneinander ausgeführt und genutzt werden.