Is there a way to move the caret in a text box without using the hard keyboard and without a bunch of single touches? Often when I'm editing in a text box, I'm trying to insert text and specific location or delete text from a specific location.  It usually takes me a few touches to get it right, but sometimes I just say screw it, delete the word and and retype.

Since I'm usually off by just one character, is there a way to move the caret to left or right by 1 character?  Maybe a gesture of some sort?

I'm a little unsure if this falls under keyboard software functions(If it does then I'll take a closer look @ the alternative keyboard questions). 

My device is a Droid which does have a hard keyboard, but I want to be prepared for the day I decide to get phone that doesn't have one.
This depends on the phone you're using, on my Spica, for example, I can use the directional keypad to adjust the position of the cursor. On phones that have trackballs, the trackball does the same job.

Otherwise, the backspace key can be used as a workaround for left-arrow key (delete a few chars, then retype the word you're inserting and retype the deleted chars.

Another alternative, if you're typing in English or in one of the supported languages, you can try Swype. Swype is a word-based text input (as opposed to character based), and you typically delete or swipe one word at a time and the correction mode (double tap on the word you want to correct and pick or swipe the new word) make correcting errors a breeze.