every smart contract can be by itself an escrow service. i see the use of this outside the ethereum infrastructure.
You cannot create a smart contract that takes into account all the scenarios and works absolutely autonomously, there is anyway a need in human in decision-making process.