This is not a good practice. AWS docs explicitly mentions that
Each NAT gateway is created in a specific Availability Zone and implemented with redundancy in that zone
That means that if all of your private subnets share traffic to a same NAT gateway, in case the AZ where the NAT is located goes down you are loosing your whole 'private environment'.