Hi Niwantha,
Your sentence: "This weekend two men are coming to do a repair on the roof of our house."
Am I right to assume that the men are coming to repairing your roof? If my assumption is correct, these are my comments below.
* "do a repair" is incorrect: Someone can come to your house to "do a job" or "do several jobs" but not "do a repair".
* It would be good to have a comma to separate two main ideas — (1)This weekend (when) and (2) what is going to happen.
* "on the roof" sounds odd as the reader would be wondering "repair" (what?) "on the roof of our house"? Since the roof will be repaired, you can write "repair the roof of our house".
Putting these ideas together, you can write:
1. This weekend, two men are coming to repair the roof of our house.
OR
2. Two men are coming to repair the roof of our house this weekend.
If you are speaking to a friend who knows where you live, or a roommate who stays with you, you can actually say "Two men are coming to repair our roof this weekend." since it is understood that the "roof" must be the one on your house.
On a separate note, your question should be: "Does this sound natural?" Though both "Is" and "Does" are used to ask questions, "does" is used when a verb (other than "be") is used in the answer.
Examples:
Q. Is anyone coming to clear the rubbish?
A. Yes, someone (is) going to do it.
Q. Does someone clear the rubbish regularly?
A. Yes, someone (clears) it on a daily basis.
I hope this helps.