We have been having prolonged adventures with this wonderful data type on my current project.  We are storing XML data in a CLOB field.  In the beginning we used the Oracle ODP.NET provider.  When we got into performance testing we found that saving this data killed our performance.  A couple of the developers did some testing and found that the Microsoft Oracle provider worked at least an order of magnitude better.  I was a little skeptical about moving to the Microsoft provider because I remembered that certain database condition weren't reported very well, but time lines always win.

A short time later the client got a response from Oracle saying we should use a VarChar parameter to send data to a CLOB in the database.  We did some testing and it did perform well, but we figured we had changed enough data access code at this point that we would wait until a maintenance release to consider performing the change.

The system went into pilot and suddenly we started getting failures to insert into the table.  Again the developers did some research and found that any data over 32K would cause this condition.

The solution?  Go back to Oracle's suggestion.

The moral?  Take your medicine now.  It taste worse if you wait.