Peter, what I've seen on the switch end (where it doesn't support LACL) is that teaming works, but only on the sending side of data. In other words, if two single port NIC workstations request data at the same time, they each get a "pipe" from a teamed server. However if a teamed NIC workstation requests data from teamed server (and again, a "dumb" switch) then only one port is used...even though there are two ports available. Once you use a 802.3ad switch with LACL trunks, then the switch can dynamically alter the traffic on the ports. This means that a teamed workstation, properly configured to an LACL trunk on the switch, can increase it's bandwidth from the server by using both ports dynamically during a request.
So with two workstation that were hammering a server you could for example use a 4 port teamed NIC on the server, and dual LAN Nics on the workstations. With an 802.3ad switch, and 3 trunks configured, each workstation could potentially have their own two ports increasing bandwidth to 2000Mbps each on downstream requests. With a non 802.3ad switch, each workstation would only get 1000Mbps regardless of cabling, or driver configurations.
I make no claim to expertise in the area but my observations are based on a review of the 803.3ad spec, and our own extensive testing on three switches, two dual LAN workstation, and a load balanced (2 LAN ports) TS509 NAS. We've tested a "dumb" switch, managed switch with manual trunking, and now a 3com switch with full 802.3ad support. At this point, I'd only ever recommend a switch with full 802.3ad where the goal was a cheap, but significant increase in both server and workstation performance.
One of the important differences we've observed is that not all dual NIC teaming is handled the same by the driver. For example, Nvidia's 680i chipset teaming is strictly configured at the driver side with no options...just on or off. Configure link aggregation at the switch, either manual or automatic (LACL) and you lose LAN connectivity. The Marvel Yukon dual LAN driver however allows three modes to be set at the driver level. "Basic" for use with dumb switches, "Static" for use with manually configured trunking at the switch, and "Dynamic" for use with 802.3ad fully compliant switches. It is when using dynamic mode on an 802.3ad compliant switch that we've seen significant performance increases to the workstation.