I understand that they are all adverbs (as opposed to "vor" and "bevor"), but can they be used interchangeably?
First let me mention, that davor can be used in context of location.
It means "in front of that"... so "that" has to be clear to your audience.
The other 2 words are solely used for time!
Now looking at the meanings in time domain I'd say that davor and vorher are pretty much interchangeable... most of the time. Zuvor can be replaced by the other two as well, but they can't be replaced by zuvor in some cases. Why? Because zuvor is not very "pointing".
Davor, like any other word with da, is pretty much like pointing your finger to a point in time you have just mentioned.
This strong pointing is not always necessary and might sound odd. In such cases, the less "pointy" vorher is the best choice.
An example with davor as best choice (this is highly subjective though) would be:
Zuvor can be used in either case but it is the least pointing word and it sounds a bit old fashioned/epic/ "booky" (again very subjective). Not subjective however is the situation, where you can only use zuvor... You are in a restaurant and the waiter comes with the check. Still stunned by the meal you spontaneously state:
Davor doesn't work here because you don't have a good anchor to point at. Of course the waiter can assume that the referenced time is "now", but why make him do work, when there is better words. Vorher is a little better and yet it is a little more mundane than the high class zuvor. Another example for zuvor would be:
Seems like zuvor and nie get along very well :). Vorher and davor just can't capture the loooooong time you have not been so tired... they are rather short term references.
So, are they interchangeable? To be understood, certainly yes (except for said locational context of davor ) But they have a different tone to them, that is certain.
Hope I could help.