When RSA is used for key exchange in SSL, the client basically encrypts some random data using the server's public key and and sends it to the server. This data is then used to compute the shared key which is used for symmetric encryption.
When Diffie-Helman (DH) is used on the other hand, -- are the DH public values exchanged unecnrypted? I ask this because while the client can use the server's public key to encrypt DH values to be sent to the client, the server has no such key to encrypt data being sent to the client (since typically the client has no public keys of its own).