in dotnet interfaces are used for describing behaviour.
WCF, Web-services and remoting this all technology uses RPC (Remote Procedure Calling) behaviour.
in RPC there must be some common binding which shared by client and server.
if you use classes instead of interface, you've share your resultatnt dll file to client also.
hence your logic goes to client side, which is not good practice. that's why we are using interfaces.
Mark this as answer, if it helps you...........
Sr. Software Engineer@AutomationAnywhere