If I understand your requirement correctly,I think it can be done. I couldn't see any issues on why it should not.
why can't you get the properties from ID="Y" and set the properties for ID="Z" which is of different case type and do an Obj-Delete of ID=Y or if you need to maintain the old record ID=Y, just change the status of the ID="Y" to any resolved- statuses.
Let me know if you see any issues here or if you need more details.
I have not done it practically. But I can do a POC on PE and let you know the results.
If you want the case to be move from one parent case to other parent case you can use removefromcover then followed with addtocover API activity. Additionally you need to update case designer so that case type Z can contain case type of Y.