¿A que diferencia te refieres exactamente?.
En ambos códigos el tuyo y el de aquella url se llama al mismo método '
Windows.Forms.Control.InvokeRequired' y '
Windows.Forms.Control.Invoke', le pasas el delegado y al compilar se generan las mismas instrucciones 
IL que internamente determinan lo mismo, hallar el handle del control/form para descubrir a que thread pertenece.
No hay diferencia alguna en lo que se refiere a eficiencia, tampoco por que le pases un delegado con la referencia del método o una expresión lambda.
Ahora, deberías seguir los ejemplos de buenos hábitos, es decir, invocar el control y no el form (aunque eso no afecta para nada al rendimiento pero puede resultar en confusión), y ademas añadir una verificación antes de invocarlo:
Ejemplo en VB.Net
- Dim msg As String = "" & ComboBox1.SelectedItem() ' No es necesario invocar para leer. 
-   
- Select Case Me.TextBox1.InvokeRequired 
-   
-   Case True ' Invoco para modificar la propiedad. 
-       Me.TextBox1.Invoke(Sub() Me.TextBox1.Text = msg) 
-   
-   Case Else 
-       Me.TextBox1.Text = msg 
-   
- End Select 
Traducción online a C#:
- string msg = "" + ComboBox1.SelectedItem(); // No es necesario invocar para leer. 
-   
- switch (this.TextBox1.InvokeRequired) { 
-   
- 	case true: // Invoco para modificar la propiedad. 
- 		this.TextBox1.Invoke(() => this.TextBox1.Text == msg); 
- 		break; 
-   
- 	default: 
- 		this.TextBox1.Text = msg; 
- 		break; 
- } 
Si quieres reducir el código para no tener que estar escribiendo siempre lo mismo, puedes desarrollar un método genérico cómo este:
-     ''' <remarks> 
-     ''' ***************************************************************** 
-     ''' Snippet Title: Control Invoker 
-     ''' Code's Author: Elektro 
-     ''' Date Modified: 03-April-2015 
-     ''' Usage Example:  
-     ''' ControlInvoker(TextBox1, Sub(tb) tb.Text = "Hello World!") 
-     '''  
-     ''' ControlInvoker(TextBox1, Sub(tb As TextBox) 
-     '''                              For x As Integer = 0 To 5 
-     '''                                  tb.AppendText(CStr(x)) 
-     '''                              Next x 
-     '''                          End Sub) 
-     ''' ***************************************************************** 
-     ''' </remarks> 
-     ''' <summary> 
-     ''' Executes an encapsulated method on the thread that owns the specified control. 
-     ''' </summary> 
-     ''' <typeparam name="T"></typeparam> 
-     ''' <param name="ctrl">The control to invoke.</param> 
-     ''' <param name="method">The encapsulated method to be called.</param> 
-     Public Sub ControlInvoker(Of T As Control)(ByVal ctrl As T, ByVal method As Action(Of T)) 
-   
-         If ctrl.InvokeRequired Then 
-             ctrl.Invoke(New Action(Of T, Action(Of T))(AddressOf ControlInvoker), ctrl, method) 
-   
-         Else 
-             method(ctrl) 
-   
-         End If 
-   
-     End Sub 
Traducción online a C#:
- /// <remarks> 
- /// ***************************************************************** 
- /// Snippet Title: Control Invoker 
- /// Code's Author: Elektro 
- /// Date Modified: 03-April-2015 
- /// Usage Example:  
- /// ControlInvoker(TextBox1, Sub(tb) tb.Text = "Hello World!") 
- ///  
- /// ControlInvoker(TextBox1, Sub(tb As TextBox) 
- ///                              For x As Integer = 0 To 5 
- ///                                  tb.AppendText(CStr(x)) 
- ///                              Next x 
- ///                          End Sub) 
- /// ***************************************************************** 
- /// </remarks> 
- /// <summary> 
- /// Executes an encapsulated method on the thread that owns the specified control. 
- /// </summary> 
- /// <typeparam name="T"></typeparam> 
- /// <param name="ctrl">The control to invoke.</param> 
- /// <param name="method">The encapsulated method to be called.</param> 
-   
- public void ControlInvoker<T>(T ctrl, Action<T> method) where T : Control 
- { 
- 	if (ctrl.InvokeRequired) { 
- 		ctrl .Invoke(new-  Action <- T, Action <- T >>(- ControlInvoker )- , ctrl, method );
-   
- 	} else { 
- 		method(ctrl); 
-   
- 	} 
-   
- } 
Ejemplos de uso en VB.Net
- ControlInvoker(TextBox1, Sub(tb) tb.Text = "Hello World!") 
- ControlInvoker(TextBox1, Sub(tb As TextBox) 
-                           For x As Integer = 0 To 5 
-                               tb.AppendText(CStr(x)) 
-                           Next x 
-                       End Sub) 
Traducción online a C#:
- ControlInvoker(TextBox1, tb => tb.Text == "Hello World!"); 
- ControlInvoker(TextBox1, (TextBox tb) => 
- { 
- 	for (int x = 0; x <= 5; x++) { 
- 		tb.AppendText(Convert.ToString(x)); 
- 	} 
- }) 
Saludos.