If you look online, on Xbox.com etc, you only see information about connecting your Xbox 360 to Live through Windows 98/ME/2000/XP. Calling Microsoft is no help, especially if you have a computer with an OEM copy of Vista (like what comes pre-installed on a computer). After a few hours of tinkering, I got it working, and I've decided to share with you how to do it.
Make sure your Vista PC has 2 internet connections. In my case, I'm running Vista Ultimate on a Dell laptop. My internet connection will be coming in Wirelessly, and my Xbox will be connected via the Ethernet port on the back of the laptop.
Connect the Xbox 360 to the computer with a standard Ethernet cable. Do not use a crossover cable.
On the Vista PC. Go to Start->Run and type in "ncpa.cpl" with no quotes. This brings you to your connections window. Left click on the connection you wish to share, then click on properties. Click on the Sharing tab and check the first box which says "Allow other network users to connect through this computer's internet connection".
Disable Windows Firewall. I never really liked it anyway. To disable or enable the firewall go to Start->Control Panel and find the option that says "Disable or enable windows firewall" from there you can turn it off as you wish.
Attempt to connect to Xbox Live. At this point it should work. Since the Firewall is disabled the Xbox will be able to connect to your PC. It will create it's own entry in your connection sharing for itself. To view this, return to the screen you were at in Step 3. Then click on Settings. You'll see a list of services and the ability to enable them or disable them. On the bottom of the list should be a new one called Xbox followed by an IP address and a port. You can disable all other services but this one.
Now you can enjoy Xbox live through your Vista PC. I'll try to add some screenshots later.
Edit: Thanks to devh's great page rank this is already ranked 4th on google if you search "xbox 360 vista ICS" Hopefully it'll help, i def could have used this.