I know few facts from Azure:
Regarding your questions,
You may see How Does Bandwidth Throttling Work in Azure? for more technical details.
At the end of the day, you are mostly constrained to the NIC on the box from within the datacenter. Each of the physical machines has a 1Gbps NIC on it. It was found to have about 800Mbps sustained transfer speed. Since each host could also currently have 8 guests on it, the ratio of the reserved NIC was a multiplier of the cores. If you had a Small instance, you were reserved 100Mbps, Medium has 200Mbps, L 400Mbps, etc. However, this does not taken into account bursting. Small instances can burst to 250Mbps or so in practice - it just depends on what your neighbors on the box are doing. The more cores you reserve, the higher your bursting will be upto the max.
The XS instance size is actually limited to 5Mbps, so it does not follow the other pattern.
Again, your connection within the datacenter will mostly be limited by the NIC bandwidth. This is true for instance to instance and instance to storage. For out of datacenter (where prevalent network conditions generally matter more), the NIC is the limit still, but generally other factors outside of datacenter are bottleneck.
The sort of exception to all this is when accessing a particular partition in storage: You can get around 60MB/s transfer per blob (or partition really), as this is limited to the rate at which a partition server will service your request as opposed to NIC speed. However, the entire storage account's limit is 3Gbps (more than your NIC). That can only be achieved when accessing multiple partitions.
Back into your context, that means you will get at max around 60MB/sec (480Mbps) for a particular cloud drive. To fully saturate that, you would need a Large instance or higher. That is why I said you are mostly constrained to NIC.