If you are looking for a reliable way to copy files to or from Azure storage then this blog post might just have the right answer.
Note: In this post I am not writing anything new but merely pointing to posts or tools that already exists.
Copying VHDs (Blobs) between Storage Accounts using Azure PowerShell
This is an excellent blog post which details the steps of copying VHDs from one account to another along with PowerShell examples.
This is the MDSN link for Start-AzureStorageBlobCopy which is the cmdlet used in the above blog post.
Downloading a VHD locally from Azure using PowerShell
The Save-AzureVhd cmdlet allows to download VHD images stored in a blob in to a file. It has parameters to configure the download process such as specifying the number of downloader threads that will be used or overwriting the file which already exists in the specified file path. Save-AzureVhd doesn't do any VHD format conversion and the blob is downloaded as it is.
Uploading a local VHD to Azure using PowerShell
The Add-AzureVhd cmdlet allows to upload on premise VHD images to a blob storage account as fixed VHD images. It has parameters to configure the upload process such as specifying the number of uploader threads that will be used or overwriting a blob which already exists in the specified destination uri. For on premise VHD images, patching scenario is also supported so that diff disk images can be uploaded without having to upload the already uploaded base images. SAS Uri is supported as well.
AzCopy – Uploading/Downloading files for Azure Blobs
AZCopy utility is designed to simplify the task of transferring data in to and out of a Windows Azure Storage account. You can use this as a standalone tool or incorporate this utility in an existing application.
You can download latest version of AzCopy from aka.ms/AzCopy.
Review these two blog posts for more information, syntax and examples regarding AzCopy tool.
Hope this blog post is of assistance to you when you want to transfer/copy files to or from Azure Storage.