Yes, streams can be a good way to do this – the partial transaction can be embedded as the raw data in a stream item, and then picked up by other nodes from there. Note that stream items also become permanently stored in the blockchain, but one one of the inputs of a partial transaction has been spent, the offer effectively expires.