Best Practice for File Transfers are Byte Arrays ( byte[] ) or Base64 Strings.
But in a WCF environment you have to watch the size of your file. If your file is growing at any time than you have to be sure that its lower as your Buffer Sizes in your WCF Host / Client. (MaxReceivedSendMessage,... => Buffer Sizes in Config File).