How do I transfer funds from India to an exchange? I want to buy a few Bitcoins using my bank account/ credit card from here in India. How do I do that? MtGox has an option to do wire transfer. Is it the only way to do it? If I transfer $1000, how much of it will reach my MtGox account?
If you can send an International wire transfer (USD) there will be fees charged by your own bank to convert from INR to USD, as well as a wire transfer fee.  Then some fees charged by Mt. Gox exchange to receive the funds I believe, but a relatively small amount.

The conversion from INR to USD is probably the part that will be the most expensive as banks don't always give competitive rates.

This problem isn't unique to India, but those in many other nations have more options.  For instance, in many countries the P2P market CurrencyFair can be used to get a good rate converting to some other currency like USDs.  

Since neither CurrencyFair nor Transferwise work in INR funds yet, that will not yet be an option for you.

So an international wire of USDs is probably your best and least expensive method, especially for a little larger amount of $1K USD worth or so.

You might also look at ECurrencyZone, which allows Rupees to be deposited into an account at any of the following: ICICI Bank, IDBI Bank, HDFC Bank, AXIS Bank, PNB Bank, State Bank of India, or Bank Of Baroda.  Bitcoins are then delivered for those funds.

The only exchange located within India is Buy Sell Bitcoin.  They support Cheque and NEFT (Net banking) transactions.  See the comments for this answer for more specifics.