Thank you very much Sahil! Great solutions.
For now I'll try to implement something like this:
const obj = {
d: "M1000,30.1V158H0V0c169.7,238.5,374.3-76,502.6,106.8C615.7,268.2,759.9-15.4,1000,30.1z"
}
TweenMax.to(obj, 1, {
d: "M1000,157v1H0v-1h502.6H1000z",
onUpdate: (v) => console.log(obj.d)
})
It works great.
I have relatively simple shapes to morph so I think I can make some modifications in Illustrator and use d attribute.
For more complex paths I will use your first solution.
Thanks, have a great day!