The first part is easy to answer:
Ever thought about what happens if you plug your device to your computer via an USB cable, the card gets mounted on your computer? It is no longer locally available on your device. So the device can no longer access any data stored on the card. Which is one of the reasons you shouldn't install apps there which run services or provide widgets: The services would crash, the widgets become unavailable.
Second: For security reasons, sd cards are mounted with the noexec
flag, e.g. to prevent malicious software (which could have been copid to an external medium like a sd card) from being run. So it wouldn't do any good to move the system there.
You see, there are good reasons why it is designed as it is. For more than 95% of all users that's the best solution. The percentage of people really needing a thing like what you're asking for is IMHO much below 1%. And the solution obviously requires root, as you need to change the way the system works. And it is nothing you do with just a click. A bit too lenghty to be explained here -- but I don't think you would really want to do that. For normal usage, the disadvantages are bigger than the advantages.