As an example, SyncParametersClient::set_parameters doesn't take a timeout option. So, if anything goes wrong in the service call (e.g. the server goes down), we will get stuck waiting indefinitely.
Exposing a timout that is set to -1 by default (as is done for SyncParametersClient::wait_for_service) would be appropriate.
Parameter tests in test_rclcpp (e.g. this one) should be updated to specify a timeout, so that the other tests in the file can be run even if one of them hangs.