The answer of David Hall - that durch is used in an instrumental way, and that von is merely naming the agent who does something - already has a point.
I just want to add two things:
Intention
durch is implying an intention, so that the agent named is actual just an instrumental means of someone.
So
Das Fenster wurde durch den Wind zerstört. [The window got destroyed by the wind.]
sounds a bit skewed, because it slightly implies, that someone used the wind in order to break the window.
A postive example of using durch:
Durch die flächendeckende Impfung sind die Masern zurückgedrängt worden. [By the means of comprehensive vaccination measles have been repelled.]
Here, die Impfung is just the instrument someone used in order to achieve something.
Impersonal Agent
The agent does not need to be a person. agent is a grammatical terminus technicus here and does not refer to a person. So
Das Fenster wurde vom Wind zerstört. [The window got destroyed by the wind.]
is totally fine.