I understand Apple's point of view for restoring backups, especially since they have removed the user's ability to recover files from failing hard drives with the T2 chip. If they encrypt iCloud too then a SSD failure and a forgotten password means you lose everything.
In the meantime, can't you just store anything you want encrypted in an encrypted folder?
You should always have one local and one offsite backup of your mac. iCloud is a syncing service, not a backup service. You cannot store things in an encrypted folder and let iCloud sync the metadata and it's binary because doing so would compromise performance as software encryption is a very expensive process. Mac can natively encrypt everything, because of T2 coprocessor. Encryption is done at a hardware level in real-time.
The second problem is, you still need access to that folder. So you have to mount the folder to macOS, then it is vulnerable once mounted. iCloud may start to sync the decrypted content when you are using it.
The best practice is:
1. have the user strong one key in some form, then come up with a very low entropy passphrase. This passphrase can be the name of the bakery you bought your wedding cake from or the last name of the first girl/guy who broke your heart, etc.
2. then Apple take one copy of the key and hash it with the low entropy passphrase
3. Let the user choose a photo from a dynamic set of photos
4. Double hash the hashed key with the signature of the photo
5. Apple stores the double hashed key, encrypted with Apple's database server private key
6. Apple double encrypt the database server private key with a rotating short lifespan private access key
So:
Users can access the data directly because they have the key.
Apple can restore user data because they have the key.
Apple cannot access user data because Apple has the key, but Apple cannot read the key.
The user can restore the key by choosing the right picture in a dynamic set of pictures, then key in the short low entropy passphrase.
The key can be used to decrypt data on iCloud.
The user can reset the password or whatever way he is keeping the key. Usually, you use a secure password to encrypt the key and store the hashed key. You don't just store the key because it is very very long and not secure laying around. Also if you change the password, you only need to encrypt the key, if you use the key directly, and you change the key, you need to re-encrypt everything all over again.
Thus, no one but the user can access the files, and there is a backup way of obtaining the key if the user wants.