Don't forget the fact that they use Google's closed source software like GMaps, GMail, Market... and strictly they don't allow you to run that on custom firmware.
That is strictly incorrect. I have all of Google's proprietary software on my rooted devices with custom roms, and didn't have to do anything special except get them from the Market after installing the roms. Just like I did when I got the phone from the carrier in the first place.
But they haven't C-D'd anyone rehosting the GAPPS zip files, nor do they care about the backup and restore script in CM to back them up from an existing Google-packaged ROM and restored into a custom one.