According to the Bhagavad Gita, with Krishna speaking to Arjuna regarding the concepts of Atman and Brahman "I am all a man may desire without transgressing the law of his nature."
Everything that we do, depending on where we are in our lives, stems from "desire", more specifically unfulfilled desire for something...tangible or intangible.
I used to get really angry when confronted with lies and greed ...not so much "immorality" as you have implied..and until I have accepted them as part of my nature too..as a human being..
Morality is defined by society..for good reasons..it gives the appearance of order..but one's morality is defined by the individual alone..and in this, he has "free will " only to the extent he has worked on himself...
This has to come from within..for no one can really "teach" another or for that matter, force another to learn.
To want to learn, to go through the discipline required to learn something, that too is a choice but within a limited context.He has to go beyond norms and mores of the society he was brought up in. He has to go beyond religion, beyond the definitions of good and evil.
Choice is a privilege of the free, and in a free being there is no desire to impose his own values on another. He has no "desire", although he can create that desire, at will.