ELBs are engineered to not be a single point of failure - a "single" ELB will have multiple IP addresses, which correspond to multiple ELB instances behind the scenes (the technology they're running is not public information, but there have been very occasional ELB outages due to EBS issues which probably indicates they're EC2 instances under the hood, maybe running something like haproxy).
As long as you've got instances in more than one AWS Availability Zone behind the ELB (edit: and as @MikeScott reminds me in the comments, cross-zone balancing enabled for that ELB), it should generally be as fault-tolerant as a multi-datacenter solution you built yourself - an AZ roughly corresponds to a datacenter.
If you truly want to balance across regions, you'll need an ELB in each region, and you could use Route53's DNS failover as well as geographic routing to distribute load across them. This adds some pretty significant complexities if your app needs a database that stretches over multiple regions, though.