The advantage of having a bus is that your sender can be ignorant of the recipients and simply use bus.Publish().
If that's a desired characteristic you may want to look into setting up transient queues (might be available with RabbitMQ transport only though).
If knowing your consumers is not a big deal then you definitely can make do w/o the bus, just use EndpointCacheFactory (make sure it's a singleton):
var endpointCache = EndpointCacheFactory
.New(x => x.UseMsmq())
and obtain your IEndpoint:
var targetEndpoint = endpointCache.GetEndpoint(new Uri(targetAddress)))
then use .Send() on it.