Hi LucV,
Probably SPI would be the best choice as it lends itself well to software clocking. You might see the SPI V6.c example. That code sends/receives an 8 bit byte in ~13us. So it wouldn't be possible to update multiple DACs every 90us Servo Sample like Kanalog does. For most servos this might not be a major issue.
Our KNozz has an SPI interface for the Dual ADC. So that is a source for another example. It is somewhat simpler but isn't written to be fast as heaters are so slow anyway. See attached. See the int SPI_IN function that performs a 16-bit SPI transfer.
Regards