Depending on who or what the market is for your software, the onshore developers can stick close to marketing and the customers to do the requirements analysis and high level architecture. You can let your offshore team be responsible for maintenance of the existing code base (be sure to review their fixes at the start), detailed module design and implementation or do QA.
Communication is key. Many Indian programmers have excellent communication skills - some better than many Americans. You can supplement this by creating mailing lists, common web pages and build/test automation and reporting. Another good practice to do is to have an offshore manager who has excellent English language skills - preferably a current employee of the company who understands the business and current development procedures and wants to go back to their native land.
Rotate all the members of the offshore development team to work in the local office for a period (one month minimum) for cross pollenation of business culture and technology transfer. Depending on the budget and schedule of the project, you may want to have the same offshore developer come to the local office every two years. There may be sticky work visa issues related to this.
The startup costs for setting up a global development team is pretty high. However, once it's in place then adding more developers is pretty cheap. Particularly in these tough economic times, it's far easier to add new offshore developers than it is to hire new American ones.
Get used to global development teams. Sheer numbers of foriegn developers, cheap global communications and economincs dictate that this is the wave of the future.