Why is usage of a current source preferable over a voltage source for charging capacitor?
There will be more to it than the basic reason, but - 

A capacitor's voltage can not be changed instantaneously, but the current into it and out of it can.
If you have a capacitor that you wish to charge to say 100 volts and can charge at up to 1A from the supply available.


If you apply a 100V power supply to the capacitor when it is fully discharged (so at 0V across the capacitor), then as the voltage CANNOT change instantaneously the supply will experience a hard short circuit. 1A (the supply max) will flow into the capacitor and the voltage will rise, but the power supply will in most cases "not be happy.
If you apply a 1A constant current source to the same discharged capacitor, it will again charge at 1A and its voltage will increase, but as the supply is designed to operate in this manner there will be no problem. The capacitor will charge until some preset voltage limit is reached - usually the charging supply in this scenario will be set to 1A constant current with a 100V maximum voltage limit.




Inductors have the opposite constraint - they WILL accept a voltage step but the current they conduct cannot change instantaneously. To "charge" an inductor to 100V across it and 1A flowing in it you could apply a 100V step voltage and the current will increase until the desired 1A current is reached.