I always keep my phone on Vibrate.
That being said, I've never had this issue before until I had to get a new phone on 7.0. Previously, the phone I had from 6.0 through the upgrade to 7 would always make noise with the timer in the default Clock app while set to Vibrate. Now that I have a new phone (same model), it's never made noise with the timer unless my phone's sound is on.
The same questions were asked for 4.4 and 5.1, so this will be the 7.0 version.