Nah, prepare is fine. The prepare_cache just saves the corresponding $sth. This may be faster depending on the DB, but as the docs note it may be risky.
To clarify, DBI takes care of saving the $sth. You don't have to worry about it. From the doc:
Like prepare except that the statement handle returned will be stored
+in a hash associated with the $dbh. If another call is made to prepar
+e_cached with the same $statement and %attr values, then the correspo
+nding cached $sth will be returned without contacting the database se
+rver.