It depends on the package or function you use. Some of them still need a lob locator as you saw in dbms_lob.write.
To just update a CLOB column, you typically don't need any special functions. Now that I've said that, if the pBody variable contains a LOT of data, you might need to perform some special processing but I didn't see the need for that in the little bit of code you posted.
With every new release CLOBs are becoming more and more like varchar2. I figure in 12g or 12gR2, you really won't be able to tell the difference.