Alerts are broadcast in the same way as transactions. Each node, upon accepting the alert, sends the alert to all of its peers.
Bitcoin won't relay alerts that are signed with a different key. Propagation might not be very good for any client if different alert keys start being used.