I am using Galaxy S3 with t-mobile. I use Google Voice for my number, and have the phone set to automatically use GV to call. I setup Google voice to forward SMS. Everything works fine with the exception of when I want to sent a new SMS, of course using the phone's SMS app. How can I get GV to appear as the number from which the sms originated?
With forwarding, you should be able to do this automatically. If your contacts are texting your google voice number, then you must have already told google voice to forward texts to your real number.
You should be able to reply directly to that forwarded message. Google creates a new phone number for your contact and associates it with that person. So if person X at phone number 123-456-7890 sends a text to your Google Voice number, you will recieve it on your regular number as coming from 987-654-3210. When you respond, Google will recieve the message (they own 987-654-3210), then resend it to 123-456-7890 with your Google Voice number as the caller ID.
However, if they are texting your regular number, or if you don't have forwarding enabled, you will be stuck using the Google Voice app to send text messages and still have your GV number show up.*
*There is a paid app (root required) that claims to integrate google voice with the native (and 3rd-party) text messaging apps. The app costs $5 and looks like it does what you want. I haven't tried this, though, and some of the reviews claim it doesn't work right (though others say it works great). Edit: There is a free version here.