This is the usual translation, but not always—the correct preposition indeed depends on the verb…I have been taught to use 'par' generally for 'by'.
il me semble que l'on utilise toujours (?) "par" à l'oral et que "de" est plus littéraire
Je peux me tromper, mais j'ai l'impression que lorsque l'on emploie de, on peut toujours sous-entendre un agent.
Le de dans ce cas serait employé lorsque le participe passé a une valeur voisine de celle des adjectifs.
Comme janpol l'a d'ailleurs bien indiqué dans un de ses exemples:
le passage de cet avion a été suivi DES yeux par tout le village
Un texte suivi d'une longue explication (le texte et les explications ont été rédigés par quelqu'un).
un toit couvert de tuiles (le toit a été couvert par des ouvriers)
la façade était ornée de drapeaux (la façade a été ornée par des employés de la mairie)
Malheureusement ça ne fonctionne pas avec la phrase suivante: il était accablé de honte
Dans ce cas le de s'emploierait parce que le verbe est pris au figuré.
En effet, on dit bien: il était accablé par la chaleur (sens propre)
je ne suis pas sûr que cette règle fonctionne bien : il est détesté par tous ses sujets.
le complément introduit par "par" me semble être toujours un C. d'agent; quand c'est "de", ce n'est pas toujours le cas ou bien il est difficile de choisir : un toit couvert de tuiles", agent ou moyen ? On peut dire : des tuiles couvrent le toit", alors on peut penser à un agent... Une chose est certaine : "par" ne peut pas marcher ici.
Mais : cette dette est couverte par ses biens immobiliers", là, c'est "de" qui ne peut pas marcher...