Redirect subdomain to subdomain on new domain

It would be helpful to specify how exactly is it not working. It seems to me that your code would redirect everything (including http://sio-india.org). This is because .* means "any character, zero or more repetitions", so sio-india.org would match too.

You should change your condition to

RewriteCond %{HTTP_HOST} ^(.*)\.sio-india\.org$ [NC]  
RewriteRule ^(.*)$ http://%1.sio-india.com/$1 [R=301,L]

If that doesn't fix it - please be more specific about how it doesn't work.