A lot of this depends on your goals.
If you just want to expose your child to the other two language but have no illusions of your child actually speaking either/both, than it's fine what you're doing. It'll introduce your child to the concept that other language exist and this is what they sound like. You would remain an English speaking family.
If you want your child to speak either/both, than a more concerted effort has to be made. Unless both languages have LOTS of outside support (lots of family members nearby, bilingual schools, a large community, lots of trips to the country, etc.) tackling two languages at once wont really work.
First, just having one parent speaking the language is not really going to cement the language in the child's head, even if your dh were really good about always speaking Urdu to him. It's not true that the problem is switching languages. While I had to get used to it at first, I really have NO problem switching from speaking French to my dh and speaking English to the children (my dh can't speak English). Everyone speaks differently to the different people in their life (their boss, their partner, their children, etc.) and this is just one step further.
The fact that my dh and I speak French together doesn't impact the children nor detract from their ability to speak English.
Second, for a child to learn a language, they need to establish a relationship in it. My children relate to me in English, even though we live in France. The language has to be a real medium in his or her life. If the parent does the "lightswitch" approach, just flipping languages at some point in the day, the chances are that the child will just tune out. Children don't just learn a language because they hear it. The language has to be a vibrant part of their life.
Lastly, you don't need to early-expose a child to ALL the languages you want him to learn. Once a child completely bilingual, he can learn other languages more easily. My children didn't start German until they were 4 years old when they started a bilingual French-German program at school. The older two are fluent and my 7 year old understands very well. Since they only really speak German at school, the progress is slower.
By contrast, if a child doesn't learn the second language well, they can stall when exposed to a third. One family seemed just like our own. One American and one French speaking parent with their child in the bilingual program but their child couldn't hack it. That surprised me, especially since mine do so well. Turns out, unlike my dh, the French parent in the other family spoke English and had lived in the States. They spoke primarily English at home. The son's French wasn't so well established and although they lived in France, they opted to switch their son to a bilingual English-French program. That was more successful.
Meanwhile, my children have a very well-ordered linguistic arrangement. English with me, German at school and French everywhere else. When we can't make it to the States, I've taken them to England. We skype a lot. We have a rule that they have to watch originally English movies in English, etc. I read to them only in English, etc.
Look at your life and your commitment to this project and ask yourselves what you want for your child. If you really want your child to speak the language of his culture, a more concentrated effort has to be made. While just exposing him to Urdu and Spanish can't hurt, don't be under any illusions that you're raising a bi- or tri-lingual child.