Here's a frank answer to your question from a Mortgage Professional with 23 years in the business: the best way to get your mortgage approved in a timely manner is to work with a Local Mortgage Banker (not a regular bank) and to have all your "ducks in a row" in terms of documentation.
That having been said, industry news reports yesterday reported processing times for loan approvals are 25% slower due to the high volume of refinance transactions in the system with Lenders. Add to this industry issue the fact you wish to use a City program for funds. I rarely ever closed loans with NYC subsidies here in New York and I must tell you each time was a timing nightmare. In the few cases I did those loans, I was approved and ready to close in a few weeks and we waited an inordinate amount of time for the City Agency to get its act together so we could close. Maybe your local agency works faster, although I doubt it.
Bottom line: find a VERY experienced Mortgage Banker like myself who can get all the "I's" dotted and "T's" crossed out of the gate to move your loan through as quickly as possible.