The whole point of a CA is trust. How do I know a self-signed cert isn't a MITM attack?
Even if you obtain the self-signed cert out of band (and explicitly trust it), how do you authenticate that channel?
Self-signed certs are not scalable or particularly useful for internet users. Please don't recommend this.