I believe this works but it just shows how ugly it would get. You wouldn't gain any speed or readability.
Try
If Regex.IsMatch(SubjectString, "(?=\S*?[a-z])(?=\S*?[0-9])(?=\S*?[\\.+*?\^$[\]()|{}/'#])\S{3,}|(?=\S*?[A-Z])(?=\S*?[0-9])(?=\S*?[\\.+*?\^$[\]()|{}/'#])\S{3,}|(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[\\.+*?\^$[\]()|{}/'#])\S{3,}|(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])\S{3,}") Then
' Successful match
Else
' Match attempt failed
End If
Catch ex As ArgumentException
'Syntax error in the regular expression
End Try
Regexbuddy explanation
' (?=\S*?[a-z])(?=\S*?[0-9])(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])\S{3,}|(?=\S*?[A-Z])(?=\S*?[0-9])(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])\S{3,}|(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])\S{3,}|(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])\S{3,}
'
' Match either the regular expression below (attempting the next alternative only if this one fails) «(?=\S*?[a-z])(?=\S*?[0-9])(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])\S{3,}»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[a-z])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “a” and “z” «[a-z]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[0-9])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “0” and “9” «[0-9]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character present in the list below «[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#]»
' A \ character «\\»
' A . character «\.»
' A + character «\+»
' A * character «\*»
' A ? character «\?»
' A ^ character «\^»
' A $ character «\$»
' A [ character «\[»
' A ] character «\]»
' A ( character «\(»
' A ) character «\)»
' A | character «\|»
' A { character «\{»
' A } character «\}»
' A / character «\/»
' A ' character «\'»
' A # character «\#»
' Match a single character that is a “non-whitespace character” «\S{3,}»
' Between 3 and unlimited times, as many times as possible, giving back as needed (greedy) «{3,}»
' Or match regular expression number 2 below (attempting the next alternative only if this one fails) «(?=\S*?[A-Z])(?=\S*?[0-9])(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])\S{3,}»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[A-Z])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “A” and “Z” «[A-Z]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[0-9])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “0” and “9” «[0-9]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character present in the list below «[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#]»
' A \ character «\\»
' A . character «\.»
' A + character «\+»
' A * character «\*»
' A ? character «\?»
' A ^ character «\^»
' A $ character «\$»
' A [ character «\[»
' A ] character «\]»
' A ( character «\(»
' A ) character «\)»
' A | character «\|»
' A { character «\{»
' A } character «\}»
' A / character «\/»
' A ' character «\'»
' A # character «\#»
' Match a single character that is a “non-whitespace character” «\S{3,}»
' Between 3 and unlimited times, as many times as possible, giving back as needed (greedy) «{3,}»
' Or match regular expression number 3 below (attempting the next alternative only if this one fails) «(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])\S{3,}»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[A-Z])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “A” and “Z” «[A-Z]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[a-z])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “a” and “z” «[a-z]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character present in the list below «[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#]»
' A \ character «\\»
' A . character «\.»
' A + character «\+»
' A * character «\*»
' A ? character «\?»
' A ^ character «\^»
' A $ character «\$»
' A [ character «\[»
' A ] character «\]»
' A ( character «\(»
' A ) character «\)»
' A | character «\|»
' A { character «\{»
' A } character «\}»
' A / character «\/»
' A ' character «\'»
' A # character «\#»
' Match a single character that is a “non-whitespace character” «\S{3,}»
' Between 3 and unlimited times, as many times as possible, giving back as needed (greedy) «{3,}»
' Or match regular expression number 4 below (the entire match attempt fails if this one fails to match) «(?=\S*?[A-Z])(?=\S*?[a-z])(?=\S*?[0-9])\S{3,}»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[A-Z])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “A” and “Z” «[A-Z]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[a-z])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “a” and “z” «[a-z]»
' Assert that the regex below can be matched, starting at this position (positive lookahead) «(?=\S*?[0-9])»
' Match a single character that is a “non-whitespace character” «\S*?»
' Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
' Match a single character in the range between “0” and “9” «[0-9]»
' Match a single character that is a “non-whitespace character” «\S{3,}»
' Between 3 and unlimited times, as many times as possible, giving back as needed (greedy) «{3,}»