Keep in mind that iCloud is designed with mobile devices, in mind. Since syncing uses the battery, and since lots of people are very anxious about battery drain, the devices will avoid syncing when not plugged in. And since syncing uses processing power, and people hate slow-downs, our devices will avoid syncing while they are in use. And since syncing requires bandwidth, the devices will avoid syncing when the internet connection is weak.
So, if you want faster syncing, then find good wifi, plug the phone in, and leave it alone. All this applies to a lesser extent for the Mac.
With that said, my MacBook, MacAir, iPhone, and iPad synchronize within a few minutes, often when they are not even plugged in. However, sometimes I need a picture from my phone really quick, and then I use Airdrop.
One other problem that might affect a device's ability to synchronize might be low storage. With less than 10%, or even 15% free storage on a device or at iCloud.com, manipulating files for sending them becomes difficult.