Counting included child blocks in the Neo plugin
The answer by Tom Bauer given to my question here should be of help.

You're not far off. You need to set a variable and count the blocks in your neo loop. Then use if statements in the loop depending on the counter variable. 

The other option is you add a columnWidth dropdown field, and give them the option to choose between 2 or 3, the values are the css (2=col-sm-6, 3=col-sm-4.)

Then your code code look like:

{% block blockContent %}    
{% for block in entry.body %}
{% switch block.type.handle %}
{% case 'serviceItem' %}

&lt;div class="{{ block.columnWidth }} margin-20 wow fadeInUp" data-wow-delay="0.4s"&gt;
  &lt;div class="text-center margin-20"&gt;&lt;i class="fa {{ block.mainTitle }} fa-4x black"&gt;&lt;/i&gt;&lt;/div&gt;
  {{ block.text }}
  &lt;a class="more" href="#"&gt;LEARN MORE&lt;/a&gt;
&lt;/div&gt;

{% endswitch %}
{% endfor %}
{% endblock %}