Arguably it is morally acceptable for them to charge high prices because drug development and doing phase 1/2/3 trials is very expensive. It's also risky, as most drugs fail. If companies aren't allowed to make a big profit when they finally struck gold means to remove the incentive of trying to develop ambitious new drugs.