Vorrei sottolineare un’altra differenza non da poco tra Behavior e Attached Property, oltre a quelle di cui ho già parlato, e che Corrado nei commenti ha integrato.
Una Attached Property, in quanto proprietà, necessita che venga settato un valore al fine di “attivarla”, mentre un Behavior, in quanto comportamento, è molto più simile ad un metodo e, come evidenziato, non è necessario nulla perchè venga attivato:
<TextBox Height="23" Text="{Binding DataSource.StreetNumber}">
    <i:Interaction.Behaviors>
        <behaviors:DisableUndoManagerBehavior />
    i:Interaction.Behaviors>
TextBox>
Un discreto vantaggio :-)
.m